-1

ExpandableListView にカスタム背景を適用したいと考えています。ExpandableListView は、slideMenu 内にあります。

スタイルは次のとおりです。

<style name="Widget.SlidingMenu.ExpandableListView" parent="android:Widget.ExpandableListView">
    <item name="android:background">@drawable/sliding_menu_background</item>
    <item name="android:cacheColorHint">@android:color/transparent</item>
    <item name="android:divider">@drawable/menu_divider</item>
    <item name="android:childDivider">@drawable/menu_divider</item>
    <item name="android:dividerHeight">4px</item>
</style>

これは背景画像です:

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

しかし、問題は、私の背景が次のようにスケーリングされて繰り返されることがあることです: https://dl.dropboxusercontent.com/u/6129677/bad_bg.JPG

また、すべてが良い場合もあります: https://dl.dropboxusercontent.com/u/6129677/good_bg.JPG

繰り返す必要がある背景は次のとおりです: https://dl.dropboxusercontent.com/u/6129677/menu_noise.png

この背後にある問題が何であるか理解できません。手がかりを教えてください。

4

1 に答える 1

2

これは、古いバージョンの Android のバグでした。この問題を回避する最も簡単な方法は、コードからタイル モードを設定することです。ExpandableListView を作成したら、背景のドローアブルを取得してタイル モードを変更します。

View myListView = findViewById(...);
((BitmapDrawable) myListView.getBackground()).setTileModeXY(
    Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
于 2013-06-12T23:43:01.287 に答える