我尝试使用以下单元格在我的Android应用中创建一个表格:
(对不起这个链接,由于声誉低,我无法附加图片)
我的想法是在表格行中使用线性布局,但工作不正确。 如果您对如何修改表格布局以实现我期望的工作有任何想法,请给我任何想法。
我的xml代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@color/black"
android:orientation="vertical" >
<TableLayout
style="@style/TextColor"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="90"
android:stretchColumns="1"
android:textColor="@colors/white" >
<TableRow>
<TextView
style="@style/TextColor"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/cell"
android:gravity="center"
android:padding="10dip"
android:singleLine="false"
android:text="@string/start_time" />
<TextView
style="@style/TextColor"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/cell"
android:gravity="center"
android:padding="10dip"
android:text="@string/start_time" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
style="@style/TextColor"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/cell"
android:gravity="center"
android:padding="10dip"
android:text="@string/start_time" />
<TextView
style="@style/TextColor"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/cell"
android:gravity="center"
android:padding="10dip"
android:text="@string/start_time" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
style="@style/TextColor"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/cell"
android:gravity="center"
android:padding="10dip"
android:text="@string/start_time" />
<TextView
style="@style/TextColor"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/cell"
android:gravity="center"
android:padding="10dip"
android:text="@string/start_time" />
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</TableRow>
</TableLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="10"
android:gravity="center"
android:text="ADDS" />
</LinearLayout>
修改 我根据你的评论做了一些改变。请看一下,请告诉我,为什么没有显示文字?
<LinearLayout xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@color/black"
android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/black"
android:orientation="horizontal"
android:baselineAligned="false" >
<LinearLayout
android:layout_weight=".5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/cell"
android:orientation="vertical" >
<TextView
android:layout_height="fill_parent"
style="@style/TextColor"
android:gravity="center"
android:padding="10dip"
android:text="@string/start_time" />
<TextView
style="@style/TextColor"
android:gravity="center"
android:padding="10dip"
android:text="@string/activate" />
</LinearLayout>
<LinearLayout
android:layout_weight=".5"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:background="@drawable/cell"
android:orientation="vertical" >
<TextView
android:layout_height="fill_parent"
style="@style/TextColor"
android:gravity="center"
android:padding="10dip"
android:text="@string/start_time" />
<TextView
style="@style/TextColor"
android:gravity="center"
android:padding="10dip"
android:text="@string/activate" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:1)
感谢您的帮助。 我找到了一个解决方案。 我的xml文件现在看起来像这样:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/black"
android:orientation="horizontal"
android:baselineAligned="false" >
<LinearLayout
android:layout_weight=".5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/cell"
android:orientation="vertical" >
<TextView
style="@style/TextColor"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:padding="10dip"
android:textSize="46sp"
android:text="@string/start_time" />
<TextView
style="@style/TextColor"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:padding="10dip"
android:paddingBottom="@dimen/zero"
android:text="@string/activate" />
</LinearLayout>
<LinearLayout
android:layout_weight=".5"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:background="@drawable/cell"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/TextColor"
android:gravity="center"
android:padding="10dip"
android:textSize="46sp"
android:text="@string/start_time" />
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/TextColor"
android:gravity="center"
android:padding="10dip"
android:text="@string/activate" />
</LinearLayout>
答案 1 :(得分:0)
试试这个。
<TableRow
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
android:id="@+id/row">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/container">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:paddingLeft="20dp"
android:id="@+id/textView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Small Text"
android:id="@+id/textView2"
android:layout_centerVertical="true"
android:layout_alignRight="@+id/textView"
android:paddingTop="20dp"
android:paddingLeft="20dp"
android:layout_alignEnd="@+id/textView" />
</LinearLayout>
</TableRow>
答案 2 :(得分:0)
对于border,将其放在名为border.xml的文件中
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#00000000"/>
<stroke android:width="1dp" android:color="#000000"/>
</shape>
并绘制内部内容使用此
<LinearLayout
android:layout_margin="5dp"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/border">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="24sp"
android:text="Sample Text"/>
<TextView
android:layout_marginTop="10dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="11sp"
android:text="Sample Text"/>
您可以使用LinearLayout
内的TableRow
或任何您想要的地方