我想在按钮中添加图片和文字,如下所示。
如果我将此作为背景,那么它将根据不同手机的屏幕尺寸而恶化。所以我想自定义绘制自定义布局,其中信息按钮的图像将保留在同一像素中,并且信息字母将被绘制为单独的。这样我就可以获得精确的外观而不会出现任何图像失真。
答案 0 :(得分:2)
您可以指定背景图片'!'图标和文字分开如下:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/background"
android:drawableLeft="@drawable/icon"
android:text="info" />
答案 1 :(得分:1)
使用9补丁作为背景,使用普通按钮,使用左侧可绘制的图像。这是你的最佳方式。
检查this是否有9补丁。这样您就可以根据需要创建带圆角的背景而不会使它们偏斜。
所以最后你会得到一个普通的按钮,其背景是9-patch和你设置图标的drawableLeft。
检查this以确定按钮状态,以防您想要更好的用户体验。您仍然需要执行所有这些操作,然后为按钮背景定义状态并将其用作背景。
答案 2 :(得分:1)
你可以在你的res / drawable文件夹中使用这三个drawable作为你的背景名称文件backround.xml这个文件将处理你的butoon backround在不同状态下按下,聚焦和正常:
这些是你可以使用的三个9-patch drawable:
backround.xml是:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/btn_orange" />
<item
android:state_focused="true"
android:state_enabled="true"
android:drawable="@drawable/btn_orange" />
<item
android:state_enabled="true"
android:drawable="@drawable/btn_black" />
<item
android:state_enabled="false"
android:drawable="@drawable/btn_red" />
</selector>
您的xml按钮将如下所示:
<Button
android:id="@+id/my_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/myIcon"
android:drawablePadding="5dp"
android:paddingLeft="10dp"
android:text="info"
android:background="@drawable/background" />
答案 3 :(得分:0)
您需要在Button小部件中排列3件事:background image, info icon and text
。对于这些使用这些:
android:background="backgroundImage"
android:drawableLeft="info icon"
android:text="text"