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看到我的答案在下面。如果有幫助,請將答案標記爲正確。謝謝 –