4

ビューをアニメーション化するためにセレクターを使用していますが、そのうちの 1 つで次のようにしています。

  • 意見:

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="1"
        android:background="@drawable/selector_gridview" >
    
  • selector_gridview:

    <?xml version="1.0" encoding="UTF-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item
            android:state_pressed="false"
            android:drawable="@drawable/selector_gridview_normal" 
        />
    
        <item 
            android:state_pressed="true"
            android:drawable="@drawable/selector_gridview_pressed" 
        />
    
    </selector>
    
  • selector_gridview_pressed:

    <?xml version="1.0" encoding="UTF-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <item>
            <shape>
                <solid android:color="@color/overlayed" />
    
                <stroke 
                    android:width="1px"
                    android:color="#cccac3" />
            </shape>
        </item>
    
         <item>
            <bitmap
                android:antialias="true"
                android:dither="true"
                android:src="@drawable/bg_stripes_dark"
                android:tileMode="repeat" />
        </item>
    
    </layer-list>
    
  • bg_stripes_dark は、drawable-nodpiフォルダーにある .png です。

selector_gridview_normalビットマップはとで同じですselector_gridview_pressedが、ビューが押されたとき、ビューが押されていないときのようにビットマップは繰り返されません。

私は をMDPI / API 8 device4.0 デバイスで使用しています (そのため) この問題は存在しません。

これは、Support v4 Gridview の問題のようです。実際には多くの問題を抱えているようです。これを解決する方法はありますか?

4

2 に答える 2

0

これがあなたに役立つことを願っています-

// backrepeatnormal.xml

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/selector_gridview_normal" 
    android:tileMode="repeat" />

// backrepeatpressed.xml

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/selector_gridview_pressed" 
    android:tileMode="repeat" />

// selector_gridview.xml

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:state_pressed="false"
        android:drawable="@drawable/backrepeatnormal" 
    />

    <item 
        android:state_pressed="true"
        android:drawable="@drawable/backrepeatpressed" 
    />

</selector>

//レイアウトファイル

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="1"
    android:background="@drawable/selector_gridview" >
于 2013-06-27T13:05:50.013 に答える