如何在按钮内调整图像大小

4
我正在尝试创建一个按钮,在该按钮中,文本描述显示在底部,图像显示在顶部。我发现可以通过android:drawableTop属性实现此目的,但我无法调整图像大小。adjustViewBounds、android:scaleType="fitCenter"和fitXY等方法都无效。
以下是我的按钮的xml代码。
<Button
            android:text="Start Running"
            android:layout_height="match_parent"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:id="@+id/run"
            android:onClick = "RUN"
            android:scaleType="fitCenter"
            android:drawableTop="@drawable/runner"
            android:layout_marginBottom="3sp"
            android:layout_marginLeft="2sp"
            android:layout_marginRight="3sp"
            android:layout_marginTop="0sp"
            />

请提出建议?

1个回答

1
创建一个水平的LinearLayout,其中包含两个视图 - 一个以您的图像作为背景的视图和一个带有相应文本的TextView。然后为此LinearLayout设置OnClickListener,并像常规按钮一样处理它。

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/half_overlay" android:drawable="@drawable/myDrawable" android:width="40dp" android:height="40dp" /></layer-list> - Sagar Patel
编写此代码并应用于按钮Drawable属性。 - Sagar Patel
在drawable目录中创建一个新的xml文件,然后粘贴上面的代码。接着添加一个按钮来写入这段代码:android:drawableLeft="@drawable/drawableimagename"。 - Sagar Patel
首先,我创建了一个名为draw的新xml文件,并将您的代码粘贴到其中。然后,我通过编写android:drawableTop="@drawable/draw"在按钮代码中使用它。但是应用程序在此之后停止了。我做错了吗? - Shlok Srivastava
在 Android 4.1 之前,方法 android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) 会错误地覆盖 android.graphics.drawable.Drawable 中的 package-private 方法。 - Shlok Srivastava
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/half_overlay" android:drawable="@drawable/mycreation" android:width="70dp" android:height="50dp" /></layer-list> - Sagar Patel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接