设置ListView奇偶行不同的字体色
时间: 2024-01-22 17:03:08 浏览: 31
ChitGPT: 可以通过在ListView的Adapter中重写getView方法来实现奇偶行的不同字体颜色,具体代码可参考以下示例:
```
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
if (position % 2 == 0) {
view.setTextColor(Color.RED);
} else {
view.setTextColor(Color.BLUE);
}
return view;
}
```
相关问题
设置ListView奇偶行不同的字体色和不同的背景色的具体代码
以下是设置ListView奇偶行不同的字体色和不同的背景色的示例代码:
```java
public class MyAdapter extends BaseAdapter {
private List<String> mData;
private Context mContext;
public MyAdapter(List<String> data, Context context) {
mData = data;
mContext = context;
}
@Override
public int getCount() {
return mData.size();
}
@Override
public Object getItem(int position) {
return mData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(mContext).inflate(R.layout.item_layout, parent, false);
holder.mTextView = convertView.findViewById(R.id.tv_item);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.mTextView.setText(mData.get(position));
if (position % 2 == 0) { // 偶数行
holder.mTextView.setTextColor(mContext.getResources().getColor(R.color.even_text_color));
convertView.setBackgroundColor(mContext.getResources().getColor(R.color.even_bg_color));
} else { // 奇数行
holder.mTextView.setTextColor(mContext.getResources().getColor(R.color.odd_text_color));
convertView.setBackgroundColor(mContext.getResources().getColor(R.color.odd_bg_color));
}
return convertView;
}
private static class ViewHolder {
TextView mTextView;
}
}
```
其中,`item_layout` 是 ListView 的每个 item 的布局文件,其内容可以根据需要自行定义。`even_text_color`、`even_bg_color`、`odd_text_color`、`odd_bg_color` 分别是偶数行字体颜色、偶数行背景色、奇数行字体颜色、奇数行背景色的资源值。在 getView 方法中,根据 position 的奇偶性,设置对应的字体颜色和背景色即可。
android 设置ListView字体颜色
可以通过设置ListView的Adapter来设置字体颜色。在Adapter的getView()方法中,可以通过findViewById()方法获取到ListView中的TextView,并设置字体颜色。
示例代码:
```
public class MyAdapter extends BaseAdapter {
private Context mContext;
private List<String> mData;
public MyAdapter(Context context, List<String> data) {
mContext = context;
mData = data;
}
@Override
public int getCount() {
return mData.size();
}
@Override
public Object getItem(int position) {
return mData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(android.R.layout.simple_list_item_1, parent, false);
}
TextView textView = convertView.findViewById(android.R.id.text1);
textView.setText(mData.get(position));
textView.setTextColor(Color.RED);
return convertView;
}
}
```
在上面的代码中,我们通过findViewById()方法获取到TextView,并设置字体颜色为红色。然后在ListView中设置这个Adapter即可。