添加背景属性时,ImageButton图像会缩放,同时使用scaletype来定位图像

时间:2015-12-14 12:53:02

标签: android xml drawable imagebutton scaletype

我在ImageButton中有一个drawable的问题。

我正在尝试将图像按钮右侧的白色箭头(如下图所示)对齐。通过使用scaleType =“fitEnd”,我成功地在不使用背景颜色的情况下这样做了。

Button - correct arrow, wrong background color

            <ImageButton
            android:layout_width="250dp"
            android:layout_height="40dp"
            android:id="@+id/imageButton7"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/arrowUp"
            android:scaleType="fitEnd"
            android:background="#054365" />

但是,在尝试添加背景颜色时,箭头图像的大小会增大,因此看起来并不像预期的那样(见下图)。

Button - wrong arrow size, correct background color

io_service::run_one()

有没有办法获得正确的箭头大小和&amp;在使用scaleType =“fitEnd”时仍然在改变ImageButton的背景颜色时进行定位,还是必须使用其他方法?

2 个答案:

答案 0 :(得分:1)

尝试

android:backgroundTint="#054365" 

而不是

android:background="#054365"

更改按钮颜色。这是一个简单的黑客攻击。

有关详细信息,请参阅Material effect on button with background color

答案 1 :(得分:0)

<ImageButton
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:src="Your image path"
    android:scaleType="fitEnd"
    android:backgroundTint="#FFFFFF"/>

“backgroundTint”属性将在API级别21及更高级别上运行。如果低于API级别21,则应用程序只是忽略该属性,这不是错误。