Java 让它成为android中的GridLayout方式
你好,我有这个屏幕 我用这个密码做的Java 让它成为android中的GridLayout方式,java,android,grid-layout,Java,Android,Grid Layout,你好,我有这个屏幕 我用这个密码做的 <?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
<?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个按钮则无法使用,我在答案中使用了代码 您必须更改GridLayout android:rowCount=“3”。试试这个
编辑:
读这篇文章,你不会喜欢我的答案,但简单地说,你不能。GridLayout不支持任何类型的布局“权重”。对于文本,您通常可以使用app:layout\u重力选项,但对于按钮之类的项目,这将不起作用 最好的选择是在GridLayout内部使用线性布局。与现有布局相比并没有多大改进,但至少可以摆脱现有的第一个线性布局。您所需要的只是顶部的GridLayout,然后每行按钮有一个线性布局。这将提高性能
“模拟其他布局的功能”部分提示如何在GridLayout中使用LinearLayout来实现此方案是更好的选择。它将使每3个文本视图成为一行,但它们不会填充父视图的整个宽度@user4o01检查此链接可能会有所帮助。。我的朋友,这不会是关于GridView而不是GridLayoutGridLayout的,如果您指定android,GridLayout将在一行中使用3个按钮:columnCount=“3”您不能,但尝试使用表布局,非常类似。
<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>