Android:设置drawable over button

时间:2014-06-12 11:51:26

标签: android button layout adt

我的应用程序中的

是3 Buttons(屏幕截图在底部)。现在我想在第一个AnimatedDrawable(底部的图像)上设置Button(一根手指)。我正在使用LinearLayout,而Button的背景只是一种颜色(没有可绘制的)。 我试过这个:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
   <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/black"/>
        </shape>
    </item>
    <item android:drawable="@drawable/finger"></item>
</layer-list>

并将layer-list设置为Button的背景,但手指与Button一样大。我还尝试在RelativeLayout内使用LinearLayout但我无法设置weight的{​​{1}}。由于Buttons上的文字,我无法使用ImageButton。那么有可能解决这个问题吗?

问候Nils

Like it is now (without the finger

Like I'd like it

2 个答案:

答案 0 :(得分:2)

试试这段代码:

<Button
    android:id="@+id/Submit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="23dp"
    android:drawableRight="@android:drawable/ic_menu_directions"
    android:text="Button" />

而不是这个&#34; @android:drawable / ic_menu_directions&#34;你可以选择任何来自drawable的图像

答案 1 :(得分:0)

您可以通过以下方式以编程方式在按钮上设置图像:

final Button btn = (Button) findViewById(R.id.your_Button);


btn.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        btn.setBackgroundResource(R.drawable.icon);
    }
});

您可以使用&#34;图像按钮&#34;它对你更好,代码如下:

final ImageButton next = (ImageButton) findViewById(R.id.your_Button) ;
Drawable d = Drawable.createFromPath("@drawable/your_image");
next.enter.setImageDrawable(d);