基本的にタイトルの内容:
背景画像を (XML の android:background 属性を介して) 設定したビューがあり、ユーザーがビューを押したときに別の画像をオーバーレイし
たいビューが押されたときに XML セレクターを使用して背景画像を変更しますが、代わりに画像を重ねることは可能ですか?
または、プレーンな画像とオーバーレイが追加された画像の 2 つの画像が必要ですか?
前もって感謝します :)
9089 次
3 に答える
3
Chaositのおかげで、私はこの解決策を思いつきました:
res/xml で、selector.xml などのセレクター ファイルを作成します。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/image_with_overlay" android:state_pressed="true" />
<item android:drawable="@drawable/image" />
</selector>
次に、res/drawable で、image_with_overlay.xml などのレイヤー リストを作成します。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/image" />
<item android:drawable="@drawable/overlay_image" />
</layer-list>
次に、View
このプロパティを持ちたい場合は、単に使用しますandroid:background="@xml/selector"
その後、すべて完了です:-)
于 2013-09-05T19:12:40.443 に答える
1
背景画像に ImageView を使用し、android:tint プロパティをアルファ フィルターで色に設定するだけです。
<ImageView
android:scaleType="fitXY"
android:tint="#8c000000"
android:src="mipmap/background.png"/>
于 2016-11-28T19:00:11.240 に答える
0
// xml
<ImageView
android:id="@+id/img"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:background="@drawable/ijoomer_btn_hover"
android:padding="5dp"
android:scaleType="fitXY" />
// Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView("xml");
img = (ImageView) findViewById(R.id.img);
img.setImageDrawable(null);
}
img.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(img.getDrawable()!=null){
img.setImageDrawable(null);
}else{
img.setImageDrawable(getResources().getDrawable(R.drawable.ic_launcher));
}
}
});
于 2013-09-05T11:27:30.033 に答える