【发布时间】:2025-11-21 08:00:03
【问题描述】:
【问题讨论】:
-
你试过按钮'android:drawableLeft="@drawable/icon"'的drawable属性
-
您也可以使用线性布局(或其他),其行为和外观都像一个按钮。包含图像、文本、图像。
【问题讨论】:
这里有一些代码可以帮助您入门。让我们从背景开始。如果没有为您提供该背景并且您必须自己创建它,让我们创建一个 custom_button_bg.xml 文件并添加到您的可绘制文件夹中。
custom_button_bg.xml 注意:我只是为你做基本的形状。根据需要调整阴影和圆角半径
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:endColor="@color/teal"
android:startColor="@color/teal"/>
<corners android:radius="4dp"/>
<stroke
android:width="1dp"
android:color="@color/shadow"/>
</shape>
现在只需创建您的布局,如下所示。只需替换 src 和标签即可。
<RelativeLayout
android:layout_width="160dp"
android:layout_height="80dp"
android:gravity="center_vertical"
android:background="@drawable/custom_rounded_white_button">
<ImageView
android:id="@+id/iv_video_cam"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/video_cam"/>
<TextView
android:id="@+id/tv_desc"
android:layout_toRightOf="@+id/iv_video_cam"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="See a Medical \nDoctor Now"/>
<ImageView
android:layout_toRightOf="@+id/tv_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/arrow"/>
</RelativeLayout>
干杯!
【讨论】:
你可以这样使用:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:drawableLeft="@drawable/video_camera"
android:drawableRight="@drawable/right_arrow"
android:text="See a Medical\nDoctor Now"/>
【讨论】:
两个选项:
您可以在Button 上使用setBackgroundDrawable() 将按钮的背景设置为带有您想要的图标的图像,然后您的文字将出现在背景上方。
或者您可以尝试在嵌套在您的Button 中的 XML 文件中使用 android:drawableLeft="@drawable/yourimage" 和/或 android:drawableRight="@drawable/yourimage"。
HERE你可以找到更多关于drawableRight/Left的信息
【讨论】:
我在下面的代码中遇到了同样的问题 ;)
android:layout_width="370dp"
android:layout_height="62dp"
android:layout_marginTop="100dp"
android:drawableLeft="@drawable/flag_us_little"
android:drawableRight="@drawable/ic_arrow"
android:text="English language"
android:textAllCaps="true"
android:textColor="@color/black"/>
干杯!
【讨论】:
三个步骤:
在我的布局 xml 文件中。将图片设置为按钮背景:
<Button
android:layout_width="165dp"
android:layout_height="35dp"
android:background="@drawable/background"
android:textColor="#FFFFFF"
android:id="@+id/button"
android:paddingTop="2sp"
android:drawablePadding="-1sp"
></Button>
最终结果:
【讨论】: