实现Android GridLayout背景颜色中间有白色间隔
一、流程概述
我们需要使用GridLayout来实现一个背景颜色中间有白色间隔的效果。具体实现步骤如下:
erDiagram
实现效果 --> 使用GridLayout
使用GridLayout --> 设置背景颜色
设置背景颜色 --> 添加白色间隔
二、具体步骤
1. 使用GridLayout
在XML布局文件中添加GridLayout:
<GridLayout
android:id="@+id/gridLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="3"
android:background="@color/colorPrimary"
android:padding="5dp"
android:rowCount="3"/>
2. 设置背景颜色
在res/values/colors.xml中定义颜色:
<color name="colorPrimary">#FF4081</color>
<color name="white">#FFFFFF</color>
3. 添加白色间隔
在Activity中动态添加View,设置白色背景:
public class MainActivity extends AppCompatActivity {
private GridLayout gridLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridLayout = findViewById(R.id.gridLayout);
for (int i = 0; i < 9; i++) {
TextView textView = new TextView(this);
textView.setText("Cell " + i);
textView.setBackgroundColor(getResources().getColor(R.color.white));
textView.setGravity(Gravity.CENTER);
GridLayout.LayoutParams params = new GridLayout.LayoutParams();
params.columnSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f);
params.rowSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f);
textView.setLayoutParams(params);
gridLayout.addView(textView);
}
}
}
三、关键代码解析
android:background="@color/colorPrimary"
:在GridLayout中设置背景颜色为colorPrimary。textView.setBackgroundColor(getResources().getColor(R.color.white))
:设置TextView的背景颜色为白色。params.columnSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f)
:设置每个TextView跨越一个网格列。params.rowSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f)
:设置每个TextView跨越一个网格行。
四、类图
classDiagram
MainActivity -- GridLayout
通过以上步骤,你可以实现一个Android GridLayout背景颜色中间有白色间隔的效果。希望这篇文章能帮助你理解并掌握这个技术。如果有任何问题,欢迎随时向我咨询。加油!