您好我有这个屏幕
我是用这段代码制作的。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.example.test.project"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_gravity="fill_horizontal"
android:text="1" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_gravity="fill_horizontal"
android:text="2" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_gravity="fill_horizontal"
android:text="3" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_gravity="fill_horizontal"
android:text="4" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_gravity="fill_horizontal"
android:text="5" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_gravity="fill_horizontal"
android:text="6" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_gravity="fill_horizontal"
android:text="7" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_gravity="fill_horizontal"
android:text="8" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_gravity="fill_horizontal"
android:text="9" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_gravity="fill_horizontal"
android:text="10" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_gravity="fill_horizontal"
android:text="11" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_gravity="fill_horizontal"
android:text="12" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
有没有办法用GridLayout
做,我尝试使用GridLayout,但它只能连续使用2个按钮,但有3个它不起作用,我使用了{{3}中的代码回答?
答案 0 :(得分:0)
你必须更改GridLayout android:rowCount =“3”。试试这个link和this
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="3"
android:rowCount="3" >
<TextView
android:text="1,1" />
<TextView
android:text="1,2" />
<TextView
android:text="1,3" />
<TextView
android:text="2,1" />
<TextView
android:text="2,2" />
<TextView
android:text="2,3" />
<TextView
android:text="3,1" />
<TextView
android:text="3,2" />
<TextView
android:text="3,3" />
</GridLayout>
答案 1 :(得分:0)
你不喜欢我的答案,但明白地说,你做不到。 GridLayout不支持任何类型的布局“加权”。对于文本,您通常可以使用app:layout_gravity选项,但对于像按钮这样的项目,这将无效。
最好的办法是在GridLayout中使用线性布局。并没有真正改善你已经拥有的东西,但至少你可以摆脱你拥有的第一个线性布局。您需要的只是顶部的GridLayout,然后是每行按钮的1个线性布局。这会提高性能。
http://android-developers.blogspot.com/2011/11/new-layout-widgets-space-and-gridlayout.html
“从其他布局模拟功能”部分提示如何在此方案中使用GridLayout中的LinearLayout是更好的选择。