0

複数のデバイス用のアプリを設計しています。イメージビューを使用し、セレクターを使用して、状態に応じて背景画像を設定しています。10 インチのデバイスを 1 つだけ除くすべてのデバイスで正常に動作します。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="true" >

    <LinearLayout
        android:layout_width="145dp"
        android:layout_height="239dp"
        android:layout_marginRight="6dp"
        android:background="@drawable/common_selector_thumbnail_shadow_title_background"
        android:gravity="center"
        android:orientation="vertical"
        android:paddingLeft="5dp"
        android:paddingRight="5dp" >

        <FrameLayout
            android:layout_width="130dp"
            android:layout_height="186dp"
            android:layout_marginTop="5dp"
            android:background="@color/RGB_100_215_216_217" >

            <ImageView
                android:id="@+id/seasonal_favorites_default_image"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="center"
                android:src="@drawable/tw_noitem_movie" />


        </FrameLayout>

        <TextView
            android:id="@+id/seasonal_favorites_list_text"
            android:layout_width="140dp"
            android:layout_height="43dp"
            android:duplicateParentState="true"
            android:ellipsize="end"
            android:gravity="center_vertical"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:singleLine="true"
            android:textColor="@drawable/common_selector_thumbnail_shadow_title_textcolor"
            android:textSize="18dp" />
    </LinearLayout>

</FrameLayout>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/thumbnail_title_bg_focus" android:state_focused="true" android:state_pressed="true"/>
    <item android:drawable="@drawable/thumbnail_title_bg_focus" android:state_pressed="true"/>
    <item android:drawable="@drawable/thumbnail_title_bg_focus" android:state_focused="true"/>
    <item android:drawable="@drawable/thumbnail_title_bg"/>

</selector>

前もって感謝します。

4

5 に答える 5

0

ImageButton を使用する setBackgroundResource と setImageResource の 2 つのメソッドがあり、ボタン (どちらが押されるか) と画像自体のリソースを設定します。

于 2013-08-26T13:27:09.423 に答える
0

に追加android:clickable="true"するLinearLayoutか、そこに設定する必要OnClickListenerがあります。そうしないと、セレクターの背景がアクティブになりません。

于 2013-08-26T14:03:02.073 に答える
0

画像のさまざまな状態を提供できる場合は、この 投稿を参照してください

さもないと...

画像ソースに LayerDrawable を使用します。1 つのレイヤーは実際の画像で、もう 1 つのレイヤーは状態リスト セレクターです。

LayerDrawable d = new LayerDrawable(new Drawable[]{getResources().getDrawable(R.drawable.my_image), getResources().getDrawable(R.drawable.my_selector_list)});
imageView.setImageDrawable(d);

または、レイヤー ドローアブル XML リソースを定義して、それをレイアウト XML で使用することもできます。

于 2013-09-18T18:31:06.723 に答える
0

おそらく、マニフェスト ファイルに入力する必要があります hardwareAccelerated="true"

于 2013-08-26T13:25:19.337 に答える