Android视图类 - 绘图查看按钮 - 背景与前景?

时间:2014-11-10 19:27:28

标签: android android-5.0-lollipop material-design

我在ImageButton上绘制了一个ImageView(50%透明图标),但是当我点击ImageButton时,图标消失(此时会触发一个Activity转换)。这看起来很糟糕......

执行此操作的最佳方法是什么,而不将图标实际放入ImageButton的src-File中?有没有办法将drawables设置为背景或前景?这两个属性究竟是什么?我无法找到有关android:foreground ...

的任何文档

BTW:我正在使用新的Lollipop共享元素转换并在nexus 9上进行测试。

<Relative Layout...>
<ImageButton
    android:id="@+id/imageView1"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true"
    android:layout_width="400dp"
    android:layout_height="250dp"
    android:src="@drawable/call1"
    android:foreground="@drawable/phone" <!-- Does this make any sense?-->
    android:transitionName="@string/trans_call_pic"
    android:onClick="clickCall"
    />

<ImageView
    android:id="@+id/imageButton1"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:src="@drawable/phone"
    android:layout_alignBottom="@id/imageView1"
    android:alpha="0.5"
    android:layout_marginLeft="14dp"
    />
</RelativeLayout

2 个答案:

答案 0 :(得分:1)

android:foreground属性用于前景选择器(添加到FrameLayout)。它不是为了简单地绘制图像。

一种解决方案是将按钮&amp;容器视图中的图像并将过渡放在容器上。这样,两个子视图将被视为一个。

答案 1 :(得分:0)

尝试在视图中添加前景选择器。您可以延长ImageButton,覆盖onDraw(),并在调用super.onDraw()后绘制前景选择器。这将确保前景选择器绘制在整个ImageButton之上。可以找到更详细的说明here