Android:带有两个图像的按钮|对准

时间:2016-03-17 10:17:32

标签: android android-layout android-button

我已经以编程方式创建了此按钮,并且可以使用以下代码设置icon

enter image description here

Drawable icon = context.getResources().getDrawable(iconResourceId);
button.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null);

现在,我想在右上角有另一张图片(icon),请看下图:

enter image description here

我尝试使用以下代码添加两张图片:

Drawable icon = context.getResources().getDrawable(iconResourceId);
Drawable icon2 = context.getResources().getDrawable(iconResourceId2);
button.setCompoundDrawablesWithIntrinsicBounds(icon, null, icon2, null);

而且,我的结果低于结果:

enter image description here

任何人都可以告诉我,我怎样才能将它与右上角对齐?

1 个答案:

答案 0 :(得分:0)

您的代码将如下所示btn_background是您目前的背景

    Button button = new Button(this);
    Drawable icon = context.getResources().getDrawable(iconResourceId);
    button.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null);
    button.setText("Test");

    if (hasNewUpdates()) {
        button.setBackgroundResource(R.drawable.btn_background_with_icon);
    } else {
        button.setBackgroundResource(R.drawable.btn_background);
    }

这就是btn_background_with_icon的样子

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/btn_background"/>
    <item android:gravity="right" android:bottom="72dp" android:drawable="@drawable/ico_info"/>
</layer-list>