Cod*_*er1 0 android gridview android-gridview
我理解如何在设计视图中执行此操作,但我不确定如何基于以编程方式创建的元素创建样式.我按照教程,这里是我在的地方:
我有一个网格视图,由一个字符串数组填充,如下面的代码所示:
...
gridView = (GridView) findViewById(R.id.gridView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, strData);
gridView.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
字符串数组的每个元素都可以很好地填充网格.
如何设置添加到gridView的项目的文本颜色?
2个解决方案:动态或自定义布局.
动态地:您可以setTextColor(...)在覆盖getView()ArrayAdapter中的方法时使用设置文本颜色,如下所示:
gridview.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, strData) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView text = (TextView) view.findViewById(android.R.id.text1);
text.setTextColor(getResources().getColor(R.color.my_color));
return view;
}
});
Run Code Online (Sandbox Code Playgroud)自定义布局:这是最简单的方法,构建自定义布局为:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tv"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:textColor="@color/my_color"
android:background="@drawable/my_background"
android:padding="5sp"
android:singleLine="true"
android:gravity="center" />
Run Code Online (Sandbox Code Playgroud)
然后,将其设置为您的适配器:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_layout_above, strData);
Run Code Online (Sandbox Code Playgroud)即使你动态地想要这个,我也不确定,但我认为最好使用自定义布局.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
4556 次 |
| 最近记录: |