写了一个girdview,xml如下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    
    <GridView 
        android:id="@+id/grid_background" 
        android:numColumns="4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:listSelector="@drawable/grid_selector_background"/>    
</LinearLayout>
grid_selector_background.xml文件如下    <item android:state_focused="true" android:state_pressed="false"
        android:drawable="@drawable/grid_selector_background_pressed" />
    <item android:state_focused="true" android:state_pressed="true"
        android:drawable="@drawable/grid_selector_background_pressed" />
    <item android:state_focused="false" android:state_pressed="true"
        android:drawable="@drawable/grid_selector_background_pressed" />
三个状态使用了同样的图片,图片格式是png的,不是9.png的。我把图片的大小设置的比较小,可是为什么点击item的时候,焦点背景图片非常的大,遮盖住了旁边的item

解决方案 »

  1.   

    在xml中加入<item android:drawable="@drawable/background" />默认背景图应该要
      

  2.   

    问题已经解决了,我将GridView中的每个image加了一个属性
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >    <ImageView       
            android:id="@+id/iv_background"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:padding="10dp"/></LinearLayout>
      

  3.   

    现在selector焦点时的图片好看了一些,可是还是大了些
      

  4.   

    在GridView的xml中加个android:listSelector="@android:color/transparent",效果会更好一点。
      

  5.   


    <item android:state_window_focused="false"
            android:drawable="@drawable/grid_selector_background_pressed" />
    dialog里面使用了gridview,这个gridview的selector设置了窗口没有焦点的情况,如上,并没有效果
      

  6.   

    已经解决了,但是不知道为什么,之前修改的是gridview的android:listSelector属性
    后来参照源码中的gallery模块,因为gallery模块里面有这种没有获取焦点时显示出来这种图片的效果,就参考了以下,改为设置imageView的background的属性,并且将android:listSelector="@android:color/transparent"为透明
    这时候那个属性就显示出来了
      

  7.   

    这个结论是对的,我记得我做ListView也遇到这样的问题
    谢谢楼主了
      

  8.   

    在GridView的xml中加个android:listSelector="@android:color/transparent",效果会更好一点。
      

  9.   

    ncuboy045wsq 不是说的你,我说的时17楼的哥们