모서리가 둥근 테이블을 만들려고합니다. 이 작업을 수행하는 데는 꽤 많은 XML이 있지만 문제가 있습니다. 테이블 자체가 내부 텍스트의 너비로 감싸고 있습니다. 나는 부모님을 채우기 위해 모든 것을 원한다. (나는 주변에 경계선이 있기 때문에 내가 가지고있는 쿠션이있다.) 나는 fill_parent에 모든 것이있을 때 왜 그것이 아닌지 이해할 수 없다. 누군가 잘못 된 것을 지적 할 수 있습니까?일부 고급 UI에서 문제가 발생했습니다.
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의 사본입니다 :<?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>
정말 복잡한 레이아웃처럼 보입니다. 도구 폴더에있는 HeirarchyViewer가 디버그하는 데 도움이 될 수 있습니다. 어떤 요소가 행을 원하는 위치 이상으로 늘리는 지 확인할 수 있습니다. –
답장을 보내 주셔서 감사합니다. 테이블을 화면의 한계를 넘어서 확장시키는 것만이 아닙니다. 텍스트가 매우 짧으면 표가 매우 좁기 때문입니다. 하지만 아무것도 포장해야합니다 : ( – Andrew
왜 그것을 이해하지 못하는 것 같아요. 왜 내 바깥 쪽 TableLayout 이제 fill_parent, 모든 다른 Table_Layout wrap_content 동안. – Andrew