Vip*_*l J 7 android grid-layout android-layout android-gridlayout
当用XML添加按钮时 - 一切都很好
<GridLayout
android:id="@+id/social_gl_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:alignmentMode="alignBounds"
android:columnCount="2"
android:padding="8dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="45dp"
android:layout_columnWeight="1">
<Button
android:layout_width="fill_parent"
android:layout_height="45dp"
android:background="@android:color/holo_blue_light"
android:text="Hi"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="45dp"
android:layout_columnWeight="1">
<Button
android:layout_width="fill_parent"
android:layout_height="45dp"
android:background="@android:color/holo_green_light"
android:text="Whatsapp"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="45dp"
android:layout_columnWeight="1">
<Button
android:layout_width="match_parent"
android:layout_height="45dp"
android:background="@android:color/holo_green_light"
android:text="This is facebook"
/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="45dp"
android:layout_columnWeight="1">
<Button
android:layout_width="match_parent"
android:layout_height="45dp"
android:background="@android:color/holo_blue_light"
android:text="On"
/>
</LinearLayout>
</GridLayout>
Run Code Online (Sandbox Code Playgroud)
动态添加按钮时(按代码) - 缺少对齐,按钮不占用列的完整宽度
GridLayout gl = (GridLayout) findViewById(R.id.social_gl_content);
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
for (int i = 0 ; i < strs.length ; i++) {
View v = inflater.inflate(R.layout.grid_item, null);
Button b = (Button) v.findViewById(R.id.button);
b.setText(strs[i]);
if ( i % 2 ==0) {
b.setBackgroundColor(Color.BLACK);
}else{
b.setBackgroundColor(Color.BLUE);
}
gl.addView(v);
}
Run Code Online (Sandbox Code Playgroud)
而不是传递null:
View v = inflater.inflate(R.layout.grid_item, null);
传递parentView以使v具有正确的布局参数.
View v = inflater.inflate(R.layout.grid_item, gl, false);
| 归档时间: |
|
| 查看次数: |
336 次 |
| 最近记录: |