Nil*_*zor 40 android android-layout
我试图弄清楚GridLayout是如何工作的,但是我从文档中无法弄清楚的一件事是如何或者如果可以控制网格单元的大小.
假设我想要一个两个两个网格,其中每个单元格占据屏幕空间的25%(半高,半宽) - 我可以这样做吗?
使用LinearLayout,我可以通过在一个垂直中嵌套两个水平LinearLayout然后为所有元素指定权重 1来实现此目的.GridLayout虽然不支持weight属性.
Jac*_*ack 18
android有两个属性:layout_columnWeight和layout_rowWeight,它与LinearLayout中的layout_weight类似.这在API 21中受支持.对于较旧的Android设备,请使用v7支持库中的GridLayout.
这些属性允许您根据分配给每列的值调整列的宽度/高度.公式如下(column_weight/sum_of_column_weight)*gridLayout_width = column_width.
这是一个示例,它是一个2行2列均匀展开的网格视图,每个占用网格重量和高度的50%.
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="2"
>
<TextView
android:text="SEARCH FEE"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
/>
<TextView
android:layout_columnWeight="1"
android:text="SEARCH FEE"
android:layout_rowWeight="1"
/>
<TextView
android:text="SEARCH FEE"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
/>
<TextView
android:layout_columnWeight="1"
android:text="SEARCH FEE"
android:layout_rowWeight="1"
/>
</GridLayout>
Run Code Online (Sandbox Code Playgroud)
Mat*_*lor 12
根据文档,它看起来像你想要的设置应该相当简单:
android:rowCount='2'
android:columnCount='2'
Run Code Online (Sandbox Code Playgroud)
在孩子们中
android:layout_columnSpan="1"
android:layout_rowSpan="1"
Run Code Online (Sandbox Code Playgroud)
该参考文献还提到了拉伸:
要防止色谱柱拉伸,请确保色谱柱中的某个组分未定义重力.
这似乎是一种解决方案,可以保持行和列的比例为50:50,而无需根据内容调整大小
它会是这样的:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:columnCount="2"
app:rowCount="2">
<TextView
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center"
android:text="1"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
<TextView
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center"
android:text="2"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
<TextView
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center"
android:text="3"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
<TextView
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center"
android:text="4"
app:layout_columnWeight="1"
app:layout_rowWeight="1" />
</android.support.v7.widget.GridLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72106 次 |
| 最近记录: |