我正在为图像制作面具。在我的大多数设备上它工作正常。以下是我制作它的方式。
<ImageView
android:id="@+id/im_photo"
android:layout_width="85dip"
android:layout_height="64dip"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginRight="8dip"
android:scaleType="centerCrop" />
<View
android:layout_width="85dip"
android:layout_height="64dip"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginRight="8dip"
android:background="@drawable/rounded_mask_background"
android:duplicateParentState="true" />
掩模
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:exitFadeDuration="@android:integer/config_shortAnimTime">
<item android:state_selected="true" android:state_activated="true" android:drawable="@drawable/selected_patch" />
<item android:state_activated="true" android:drawable="@drawable/rounded_mask_selected" />
<item android:state_selected="true" android:drawable="@drawable/rounded_mask_selected" />
<item android:state_checked="true" android:drawable="@drawable/rounded_mask_selected" />
<item android:state_focused="true" android:drawable="@drawable/rounded_mask_selected" />
<item android:state_pressed="true" android:drawable="@drawable/rounded_mask_selected" />
<item android:drawable="@drawable/rounded_mask_unselected" />
</selector>
rounded_mask_unselected
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="-10dp"
android:left="-10dp"
android:right="-10dp"
android:top="-10dp">
<shape android:shape="rectangle">
<stroke
android:width="10dp"
android:color="@color/dark_gray" />
<corners android:radius="20dp" />
</shape>
</item>
</layer-list>
不幸地在某些设备上(例如Galaxy Tab 7.7)我的面具是完全黑色的(如果我将其删除,我会看到unmask图像)
我该如何解决?
答案 0 :(得分:0)
此问题是由不同设备的不同默认颜色引起的。有时默认颜色是透明的,有时是黑色。解决方案 - 明确说明背景。