0
我必须实现这样的视图。所有视图都是固定的,不滚动。自定义表带有边框的Android视图
我怎么能这样做呢?我应该使用哪些视图? GridLayout,TableLayout甚至RecyclerView。
我必须实现这样的视图。所有视图都是固定的,不滚动。自定义表带有边框的Android视图
我怎么能这样做呢?我应该使用哪些视图? GridLayout,TableLayout甚至RecyclerView。
这是你所需要的确切的xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="2">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.5">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="5"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="4">
<RelativeLayout
android:layout_marginTop="25dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout
android:layout_gravity="bottom"
android:gravity="bottom"
android:padding="6dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*">
<TableRow
android:padding="5dp">
<TextView
android:text="1"/>
<TextView
android:text="2"/>
<TextView
android:text="3"/>
<TextView
android:text="4"/>
<TextView
android:text="5"/>
<TextView
android:text="6"/>
<TextView
android:text="7"/>
<TextView
android:text="8"/>
<TextView
android:text="9"/>
</TableRow>
<TableRow
android:padding="5dp">
<TextView
android:text="5"/>
<TextView
android:text="6"/>
<TextView
android:text="7"/>
<TextView
android:text="3"/>
<TextView
android:text="4"/>
<TextView
android:text="5"/>
<TextView
android:text="8"/>
<TextView
android:text="1"/>
<TextView
android:text="2"/>
</TableRow>
<TableRow
android:padding="5dp">
<TextView
android:text="5"/>
<TextView
android:text="6"/>
<TextView
android:text="7"/>
<TextView
android:text="3"/>
<TextView
android:text="4"/>
<TextView
android:text="5"/>
<TextView
android:text="8"/>
<TextView
android:text="1"/>
<TextView
android:text="2"/>
</TableRow>
</TableLayout>
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@android:color/black"></View>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<RelativeLayout
android:layout_marginTop="25dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout
android:layout_gravity="bottom"
android:gravity="bottom"
android:padding="6dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*">
<TableRow
android:padding="5dp">
<TextView
android:text=""/>
</TableRow>
<TableRow
android:padding="5dp">
<TextView
android:text="5"/>
</TableRow>
<TableRow
android:padding="5dp">
<TextView
android:text="5"/>
</TableRow>
</TableLayout>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/black"></View>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.5">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="5"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="4">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout
android:padding="6dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*">
<TableRow
android:padding="5dp">
<TextView
android:text="1"/>
<TextView
android:text="2"/>
<TextView
android:text="3"/>
<TextView
android:text="4"/>
<TextView
android:text="5"/>
<TextView
android:text="6"/>
<TextView
android:text="7"/>
<TextView
android:text="8"/>
<TextView
android:text="9"/>
</TableRow>
<TableRow
android:padding="5dp">
<TextView
android:text="5"/>
<TextView
android:text="6"/>
<TextView
android:text="7"/>
<TextView
android:text="3"/>
<TextView
android:text="4"/>
<TextView
android:text="5"/>
<TextView
android:text="8"/>
<TextView
android:text="1"/>
<TextView
android:text="2"/>
</TableRow>
<TableRow
android:padding="5dp">
<TextView
android:text="5"/>
<TextView
android:text="6"/>
<TextView
android:text="7"/>
<TextView
android:text="3"/>
<TextView
android:text="4"/>
<TextView
android:text="5"/>
<TextView
android:text="8"/>
<TextView
android:text="1"/>
<TextView
android:text="2"/>
</TableRow>
</TableLayout>
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@android:color/black"></View>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout
android:padding="6dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*">
<TableRow
android:padding="5dp">
<TextView
android:text=""/>
</TableRow>
<TableRow
android:padding="5dp">
<TextView
android:text="5"/>
</TableRow>
<TableRow
android:padding="5dp">
<TextView
android:text="5"/>
</TableRow>
</TableLayout>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
</LinearLayout>
</LinearLayout>
我想避免创建手动或静态XML表格行。 –
您可以根据屏幕大小创建自定义视图并绘制每个元素。看看这个项目有一个自定义绘制的键盘布局https://github.com/Arjun-sna/android-passcodeview – arjun
@CosminMihu看到我的答案在下面。如果有帮助,请将答案标记为正确。谢谢 –