添加 space 时遇到问题
Facing trouble in adding space
我想在“TextView”之间添加分隔符。那里有两个 'Space',最后一个工作正常,但第一个 space 横向占用很大。我附上截图。我不明白是什么导致了这个问题。谁能说说那里发生了什么。提前致谢。
<TableLayout
android:id="@+id/tl_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="10dp"
android:paddingEnd="10dp">
<TableRow>
<EditText
android:id="@+id/et_search"
android:layout_column="0"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:hint="Type here"/>
<ImageButton
android:id="@+id/ib_search"
android:layout_column="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_search"
android:contentDescription="Search image"/>
</TableRow>
<TableRow android:orientation="vertical">
<TextView
android:id="@+id/btn_previous"
android:layout_column="0"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Previous"
android:padding="5dp"
android:background="#0d0f21"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp"/>
<Space
android:layout_width="1dp"
android:layout_height="match_parent"/>
<TextView
android:id="@+id/btn_clear"
android:layout_column="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Clear"
android:padding="5dp"
android:background="#0d0f21"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp"/>
<Space
android:layout_width="1dp"
android:layout_height="match_parent"/>
<TextView
android:id="@+id/btn_search"
android:layout_column="2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Search"
android:padding="5dp"
android:background="#0d0f21"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp"/>
</TableRow>
</TableLayout>
在您的 Textview id 中输入 android:layout_column="1"
android:id="@+id/btn_previous"
您的问题将得到解决
试试这个
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:orientation="vertical">
<TableLayout
android:id="@+id/tl_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="10dp"
android:paddingStart="10dp">
<TableRow>
<EditText
android:id="@+id/et_search"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_column="0"
android:layout_weight="1"
android:hint="Type here" />
<ImageButton
android:id="@+id/ib_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:contentDescription="Search image"
android:src="@drawable/ic_add_black_24dp" />
</TableRow>
<TableRow android:orientation="vertical">
<TextView
android:id="@+id/btn_previous"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_weight="1"
android:background="#0d0f21"
android:gravity="center"
android:padding="5dp"
android:text="Previous"
android:textColor="@android:color/white"
android:textSize="15sp" />
<Space
android:layout_width="1dp"
android:layout_height="match_parent" />
<TextView
android:id="@+id/btn_clear"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_weight="1"
android:background="#0d0f21"
android:gravity="center"
android:padding="5dp"
android:text="Clear"
android:textColor="@android:color/white"
android:textSize="15sp" />
<Space
android:layout_width="1dp"
android:layout_height="match_parent" />
<TextView
android:id="@+id/btn_search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_weight="1"
android:background="#0d0f21"
android:gravity="center"
android:padding="5dp"
android:text="Search"
android:textColor="@android:color/white"
android:textSize="15sp" />
</TableRow>
</TableLayout>
</LinearLayout>
输出
如果您不需要 Tablelayout
,您可以使用 LinearLayout
通俗易懂
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tl_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingStart="10dp"
android:paddingEnd="10dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/et_search"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:hint="Type here"/>
<ImageButton
android:id="@+id/ib_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/search_black_24dp"
android:contentDescription="Search image"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/btn_previous"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Previous"
android:padding="5dp"
android:background="#0d0f21"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp"/>
<Space
android:layout_width="1dp"
android:layout_height="match_parent"/>
<TextView
android:id="@+id/btn_clear"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Clear"
android:padding="5dp"
android:background="#0d0f21"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp"/>
<Space
android:layout_width="1dp"
android:layout_height="match_parent"/>
<TextView
android:id="@+id/btn_search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Search"
android:padding="5dp"
android:background="#0d0f21"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp"/>
</LinearLayout>
</LinearLayout>
的问题
ImageButton width and weight
和 Table 行
weightSum
试试这个
<TableLayout
android:id="@+id/tl_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="10dp"
android:paddingStart="10dp">
<TableRow
android:weightSum="5"
android:orientation="horizontal">
<EditText
android:id="@+id/et_search"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_column="0"
android:layout_weight="4"
android:hint="Type here" />
<ImageButton
android:id="@+id/ib_search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_weight="1"
android:contentDescription="Search image"
android:src="@drawable/ic_add_black_24dp" />
</TableRow>
<TableRow
android:orientation="vertical"
android:weightSum="3">
<TextView
android:id="@+id/btn_previous"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_weight="1"
android:background="#0d0f21"
android:gravity="center"
android:padding="5dp"
android:text="Previous"
android:textColor="@android:color/white"
android:textSize="15sp" />
<Space
android:layout_width="1dp"
android:layout_height="match_parent" />
<TextView
android:id="@+id/btn_clear"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_weight="1"
android:background="#0d0f21"
android:gravity="center"
android:padding="5dp"
android:text="Clear"
android:textColor="@android:color/white"
android:textSize="15sp" />
<Space
android:layout_width="1dp"
android:layout_height="match_parent" />
<TextView
android:id="@+id/btn_search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_weight="1"
android:background="#0d0f21"
android:gravity="center"
android:padding="5dp"
android:text="Search"
android:textColor="@android:color/white"
android:textSize="15sp" />
</TableRow>
</TableLayout>
使用 LinearLayout
作为父级,使用 layout_width = "match_parent"
和 layout_height = "wrap_content"
,并为每个按钮提供 layout_width = "0dp"
和 layout_weight = "1"
,并使用 layout_margin="2dp"
作为中心按钮。
我的意思是,像这样做。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
android:padding="2dp"
>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Previous"
android:textAllCaps="false"
/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:layout_weight="1"
android:text="Clear"
android:textAllCaps="false"
/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Search"
android:textAllCaps="false"
/>
</LinearLayout >
main_activity.xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal"
android:padding="10dp">
<Button
android:id="@+id/Previous"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="4dp"
android:layout_weight="0.5"
android:background="@drawable/ractangle_drawable_pitch"
android:gravity="center"
android:text="Previous"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/white" />
<Button
android:id="@+id/Clear"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_weight="0.5"
android:background="@drawable/ractangle_drawable_green"
android:gravity="center"
android:text="Clear"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/white" />
<Button
android:id="@+id/Search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:layout_weight="0.5"
android:background="@drawable/ractangle_drawable_blue"
android:gravity="center"
android:text="Search"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/white" />
</LinearLayout>
ractangle_drawable_pitch.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FF686D" />
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
<size android:height="10dp" />
</shape>
ractangle_drawable_green.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#32BEBB" />
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
<size android:height="40dp" />
</shape>
ractangle_drawable_blue.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#0000ff" />
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
<size android:height="10dp" />
</shape>
希望对您有所帮助。
我想在“TextView”之间添加分隔符。那里有两个 'Space',最后一个工作正常,但第一个 space 横向占用很大。我附上截图。我不明白是什么导致了这个问题。谁能说说那里发生了什么。提前致谢。
<TableLayout
android:id="@+id/tl_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="10dp"
android:paddingEnd="10dp">
<TableRow>
<EditText
android:id="@+id/et_search"
android:layout_column="0"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:hint="Type here"/>
<ImageButton
android:id="@+id/ib_search"
android:layout_column="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_search"
android:contentDescription="Search image"/>
</TableRow>
<TableRow android:orientation="vertical">
<TextView
android:id="@+id/btn_previous"
android:layout_column="0"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Previous"
android:padding="5dp"
android:background="#0d0f21"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp"/>
<Space
android:layout_width="1dp"
android:layout_height="match_parent"/>
<TextView
android:id="@+id/btn_clear"
android:layout_column="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Clear"
android:padding="5dp"
android:background="#0d0f21"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp"/>
<Space
android:layout_width="1dp"
android:layout_height="match_parent"/>
<TextView
android:id="@+id/btn_search"
android:layout_column="2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Search"
android:padding="5dp"
android:background="#0d0f21"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp"/>
</TableRow>
</TableLayout>
在您的 Textview id 中输入 android:layout_column="1"
android:id="@+id/btn_previous"
您的问题将得到解决
试试这个
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:orientation="vertical">
<TableLayout
android:id="@+id/tl_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="10dp"
android:paddingStart="10dp">
<TableRow>
<EditText
android:id="@+id/et_search"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_column="0"
android:layout_weight="1"
android:hint="Type here" />
<ImageButton
android:id="@+id/ib_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:contentDescription="Search image"
android:src="@drawable/ic_add_black_24dp" />
</TableRow>
<TableRow android:orientation="vertical">
<TextView
android:id="@+id/btn_previous"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_weight="1"
android:background="#0d0f21"
android:gravity="center"
android:padding="5dp"
android:text="Previous"
android:textColor="@android:color/white"
android:textSize="15sp" />
<Space
android:layout_width="1dp"
android:layout_height="match_parent" />
<TextView
android:id="@+id/btn_clear"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_weight="1"
android:background="#0d0f21"
android:gravity="center"
android:padding="5dp"
android:text="Clear"
android:textColor="@android:color/white"
android:textSize="15sp" />
<Space
android:layout_width="1dp"
android:layout_height="match_parent" />
<TextView
android:id="@+id/btn_search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_weight="1"
android:background="#0d0f21"
android:gravity="center"
android:padding="5dp"
android:text="Search"
android:textColor="@android:color/white"
android:textSize="15sp" />
</TableRow>
</TableLayout>
</LinearLayout>
输出
如果您不需要 Tablelayout
,您可以使用 LinearLayout
通俗易懂
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tl_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingStart="10dp"
android:paddingEnd="10dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/et_search"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:hint="Type here"/>
<ImageButton
android:id="@+id/ib_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/search_black_24dp"
android:contentDescription="Search image"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/btn_previous"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Previous"
android:padding="5dp"
android:background="#0d0f21"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp"/>
<Space
android:layout_width="1dp"
android:layout_height="match_parent"/>
<TextView
android:id="@+id/btn_clear"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Clear"
android:padding="5dp"
android:background="#0d0f21"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp"/>
<Space
android:layout_width="1dp"
android:layout_height="match_parent"/>
<TextView
android:id="@+id/btn_search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Search"
android:padding="5dp"
android:background="#0d0f21"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="15sp"/>
</LinearLayout>
</LinearLayout>
ImageButton width and weight
和 Table 行
weightSum
试试这个
<TableLayout
android:id="@+id/tl_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="10dp"
android:paddingStart="10dp">
<TableRow
android:weightSum="5"
android:orientation="horizontal">
<EditText
android:id="@+id/et_search"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_column="0"
android:layout_weight="4"
android:hint="Type here" />
<ImageButton
android:id="@+id/ib_search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_weight="1"
android:contentDescription="Search image"
android:src="@drawable/ic_add_black_24dp" />
</TableRow>
<TableRow
android:orientation="vertical"
android:weightSum="3">
<TextView
android:id="@+id/btn_previous"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_weight="1"
android:background="#0d0f21"
android:gravity="center"
android:padding="5dp"
android:text="Previous"
android:textColor="@android:color/white"
android:textSize="15sp" />
<Space
android:layout_width="1dp"
android:layout_height="match_parent" />
<TextView
android:id="@+id/btn_clear"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_weight="1"
android:background="#0d0f21"
android:gravity="center"
android:padding="5dp"
android:text="Clear"
android:textColor="@android:color/white"
android:textSize="15sp" />
<Space
android:layout_width="1dp"
android:layout_height="match_parent" />
<TextView
android:id="@+id/btn_search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_weight="1"
android:background="#0d0f21"
android:gravity="center"
android:padding="5dp"
android:text="Search"
android:textColor="@android:color/white"
android:textSize="15sp" />
</TableRow>
</TableLayout>
使用 LinearLayout
作为父级,使用 layout_width = "match_parent"
和 layout_height = "wrap_content"
,并为每个按钮提供 layout_width = "0dp"
和 layout_weight = "1"
,并使用 layout_margin="2dp"
作为中心按钮。
我的意思是,像这样做。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
android:padding="2dp"
>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Previous"
android:textAllCaps="false"
/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:layout_weight="1"
android:text="Clear"
android:textAllCaps="false"
/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Search"
android:textAllCaps="false"
/>
</LinearLayout >
main_activity.xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal"
android:padding="10dp">
<Button
android:id="@+id/Previous"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="4dp"
android:layout_weight="0.5"
android:background="@drawable/ractangle_drawable_pitch"
android:gravity="center"
android:text="Previous"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/white" />
<Button
android:id="@+id/Clear"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_weight="0.5"
android:background="@drawable/ractangle_drawable_green"
android:gravity="center"
android:text="Clear"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/white" />
<Button
android:id="@+id/Search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:layout_weight="0.5"
android:background="@drawable/ractangle_drawable_blue"
android:gravity="center"
android:text="Search"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/white" />
</LinearLayout>
ractangle_drawable_pitch.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FF686D" />
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
<size android:height="10dp" />
</shape>
ractangle_drawable_green.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#32BEBB" />
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
<size android:height="40dp" />
</shape>
ractangle_drawable_blue.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#0000ff" />
<corners
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="0dp"
android:topRightRadius="0dp" />
<size android:height="10dp" />
</shape>
希望对您有所帮助。