我正在尝试创建圆角的桌子。我有相当多的XML可以做到这一点,但我有一个问题。表格将自动换行到其内部文本的宽度。我想让整个东西都填满父元素(虽然我想在它周围加一个边框,这样就有了一些缓冲)。我不明白当我拥有fill_parent的一切的时候为什么不是这样。有人能指出哪里出了问题吗?
以下是我的意思的屏幕截图和我的XML的副本:
screenshot 1
shape_outer.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#0000FF"/>
<corners android:radius="5px"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>shape_inner.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<corners android:radius="5px"/>
<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>我的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="47px"
style="?android:attr/windowTitleBackgroundStyle"
android:gravity="center">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="My title"
style="?android:attr/windowTitleStyle"
android:paddingLeft="5px" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:padding="10px"
>
<!-- used so we can separate two tables -->
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="1"
>
<!-- first table -->
<TableRow android:paddingBottom="10px">
<!-- outer border -->
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="1"
android:padding="2px"
android:background="@drawable/shape_outer"
>
<TableRow>
<!-- inner whitespace -->
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="1"
android:layout_weight="1"
android:background="@drawable/shape_inner"
android:padding="10px"
>
<TableRow>
<!-- first row: one -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left|center_vertical"
>
<TextView
android:layout_width="70px"
android:layout_height="wrap_content"
android:layout_column="1"
android:text="One:"
android:padding="6dip"
android:textColor="#000000" />
<TextView
android:id="@+id/one"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_column="1"
android:text="sadflkjaasasdfadsdsf;lkjdsal;asdj"
android:padding="6dip"
android:textColor="#000000"
android:maxLines="1" />
</LinearLayout>
</TableRow>
<!-- separator -->
<View
android:layout_height="1dip"
android:background="#FF909090" />
<TableRow>
<!-- second row: two -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left|center_vertical"
>
<TextView
android:layout_width="70px"
android:layout_height="wrap_content"
android:layout_column="1"
android:text="Two:"
android:padding="6dip"
android:textColor="#000000" />
<TextView
android:id="@+id/two"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_column="1"
android:text="asdfasdasdfasdfasfasdfasgeargfsgsfd"
android:padding="6dip"
android:textColor="#000000"
android:maxLines="1" />
</LinearLayout>
</TableRow>
</TableLayout>
</TableRow>
</TableLayout>
</TableRow>
<!-- second table -->
<TableRow>
<!-- outer border -->
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="1"
android:padding="2px"
android:background="@drawable/shape_outer"
>
<TableRow>
<!-- inner white space -->
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:stretchColumns="1"
android:background="@drawable/shape_inner"
android:padding="10px"
>
<!-- third row: Three -->
<TableRow>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left|center_vertical"
>
<TextView
android:layout_width="70px"
android:layout_height="wrap_content"
android:layout_column="1"
android:text="Three:"
android:padding="6dip"
android:textColor="#000000" />
<TextView
android:id="@+id/three"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_column="1"
android:text="asdfasfasdfasgeargfsgsfd"
android:padding="6dip"
android:textColor="#000000"
android:singleLine="true"
android:ellipsize="end" />
</LinearLayout>
</TableRow>
<!-- separator -->
<View
android:layout_height="1dip"
android:background="#FF909090" />
<!-- second row: four -->
<TableRow>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left|center_vertical"
>
<TextView
android:layout_width="70px"
android:layout_height="wrap_content"
android:layout_column="1"
android:text="Four:"
android:padding="6dip"
android:textColor="#000000" />
<TextView
android:id="@+id/four"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_column="1"
android:text="aasdfasfasdfasgeargfsgsfd"
android:padding="6dip"
android:textColor="#000000"
android:singleLine="true"
android:ellipsize="end" />
</LinearLayout>
</TableRow>
</TableLayout>
</TableRow>
</TableLayout>
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>发布于 2010-09-17 05:31:48
表的使用是令人费解和毫无意义的。下面是我的工作XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:paddingBottom="10dip"
android:paddingLeft="15dip"
android:paddingRight="15dip"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="2dip"
android:background="@drawable/shape_outer"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_inner"
>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left|center_vertical"
android:padding="10dip"
>
<TextView
android:layout_width="70dip"
android:layout_height="wrap_content"
android:text="One:"
android:padding="6dip"
android:textColor="#000000"
android:gravity="right" />
<TextView
android:id="@+id/one"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="6dip"
android:textColor="#000000"
android:text="sdklafjalfkjaslgkjafds"
android:maxLines="1"
android:ellipsize="end" />
</LinearLayout>
<View
android:layout_height="1dip"
android:layout_width="fill_parent"
android:background="#FF909090"
android:padding="10dip" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="left|center_vertical"
android:padding="10dip"
>
<TextView
android:layout_width="70dip"
android:layout_height="wrap_content"
android:text="Two:"
android:padding="6dip"
android:textColor="#000000"
android:gravity="right" />
<TextView
android:id="@+id/two"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="6dip"
android:textColor="#000000"
android:text="dsaklfajsdkldsafjsf"
android:maxLines="1"
android:ellipsize="end" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>发布于 2010-08-05 11:17:28
很高兴你修复了它,但是你可以使用相对布局更容易地完成相同的外观。
https://stackoverflow.com/questions/3410417
复制相似问题