2 xinyun94 xinyun94 于 2016.02.23 15:14 提问

gridview item背景色的问题

这是布局代码:
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="11"
android:gravity="center_horizontal"
style="@style/firstTitleText"/>
android:id="@+id/gv_setrepeatmonth"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="auto_fit"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp">
  

<TextView 
    android:id="@+id/tv_confirm"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="确定"
    android:layout_gravity="right"
    android:layout_marginRight="20dp"
    style="@style/buttonText"/>

这是gridview item布局代码
<TextView
android:id="@+id/tv_date"
android:layout_marginTop="5dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="25dp"
android:background="@drawable/textview_background_selector"
android:text="文字"

这里的background是一个点击变蓝色,不点击就是白色的selector

这是adapter getview方法代码
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final int p = position;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.addschedule_setrepeatmonthitem, null);
tv = (TextView) convertView.findViewById(R.id.tv_date);
convertView.setTag(tv);
}
if (clickTemp == position) {
// 已经进入,但是并没有修改背景色,修改下面背景色也无法改变模拟器上显示的item的背景色
Log.e("PPPPP+++CCCC", "ture");
tv.setBackgroundColor(R.color.red);
} else {
tv.setBackgroundColor(R.color.white);
}
tv.setText(String.valueOf(position+1));

    return convertView;
}

这是项目的theme:
<br> <item name="android:windowTitleSize">50dp</item><br> <item name="android:windowNoTitle">true</item><br> <item name="android:windowActionBar">false</item><br> <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item><br>

接着配置适配器
initControl();
initDate();
adapter = new SetRepeatMonthAdapter(SetRepeatMonthActivity.this, arr);
gv_month.setSelector(new ColorDrawable(Color.TRANSPARENT));//取消GridView中Item选中时默认的背景色

    gv_month.setAdapter(adapter);


我不知道为什么,实现出来的效果是这样的
![图片说明](https://img-ask.csdn.net/upload/201602/23/1456211632_374437.png)
所有的item都是灰色的背景,而且我的activity不能全屏,有黑色的部分在那里

1个回答

caozhy
caozhy   Ds   Rxr 2016.03.07 06:07
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android GridView子元素item按击交互设计:背景颜色改变
《Android GridView子元素按击交互设计:背景颜色改变》 效果图: 大致的需求和ListView相仿,就是要求用户点击GridView中的子元素时候,要有一定的交互响应(背景颜色改变表明用户的操作)。重点是在GridView的适配器中,子元素的布局文件中,把android:background属性配置成一个响应的selector,在selector中分别处理androi
Android中取消GridView & ListView默认的点击背景色
方法一: gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); listView.setSelector(new ColorDrawable(Color.TRANSPARENT));在代码中初始化的时候设置其属性。 方法二: <GridView android:listSelector="@androi
撤除GridView中Item选中时默认的背景色
取消GridView中Item选中时默认的背景色当使用GridView时候点击item项时候,会有一个android默认的背景色,取消它的方法是:
利用selector方法使listview,gridview的item背景变色
当我点击了一个item后,这个item的背景会一直变色下去, 刚开始使用state_selected,想着点击item后,选中后,他的背景就会改变,但发现并没有起作用, 之后经过谷歌,找到了实现该效果的方法, 我们应该用state_activated而不是state_selected这个方法,并且在xml给listview或者gridview设置他的属性android:choiceMode="singleChoice" 保证只有一个item被选中
android gridview点击子选项动态改变item背景颜色
愁了好久的问题,搜索换了个关键词,发现了这篇及时雨的文章http://blog.csdn.net/by317966834/article/details/8834529。跟大家fenx
gridview,点击选中一个或多个item,并改变item背景颜色,字体等
一、只选中一个item,并改变bg 在adapter中添加代码(注释掉的部分): @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { holder
GridView选中时去除背景色
GridView是应用开发时经常使用的一个控件,
android Gridview 点击 item 改变item的背景
http://blog.163.com/zhuowh2006@126/blog/static/101823724201314103631112/
Android 实现ListView/GridView等中Item被单击后背景色保持高亮
今天做一个商品查询,选择商品之后,以GridView显示属性和品种,点击选中之后保持高亮提示用户该项已被选择 正好碰到该篇博客,以下是转载内容 今天为了解决一个需求,就是我有一个slidingDrawer,里面是一个ListView。然后,单击其中的Item,默认只是显示一个橙色背景后就恢复了。客户便有着个需求,需要单击这个Item的背景高亮。于是就Google咯。得到一位前辈的文章。故为
listview gridview 设置背景颜色为透明
listview       android:background="#00000000"     android:cacheColorHint="#00000000"     android:listSelector="#00000000" gridview  android:listSelector="#00000000"