带有两个图像和文本的Android按钮
我正在尝试构建android应用程序,需要构建一个包含两个图像和一些文本的按钮 以下是示例图像: 如何在android中构建此按钮?任何帮助都将不胜感激。两种选择: 您可以利用按钮上的setBackgroundDrawable将按钮的背景设置为具有所需图标的图像,然后文本将显示在背景上方 或者您可以尝试在嵌套在按钮中的XML文件中使用android:drawableLeft=@drawable/yourimage和/或android:drawableRight=@drawable/yourimage 您可以找到有关drawableRight/Left的更多信息,有两个选项: 您可以利用按钮上的setBackgroundDrawable将按钮的背景设置为具有所需图标的图像,然后文本将显示在背景上方 或者您可以尝试在嵌套在按钮中的XML文件中使用android:drawableLeft=@drawable/yourimage和/或android:drawableRight=@drawable/yourimage 您可以通过以下三个步骤找到有关Drawable Right/Left的更多信息: 拍摄了您提供的图像的屏幕截图。 将屏幕截图放置在“我的文件夹”的可绘制项目中,并将其命名为“背景” 在我的布局xml文件中。将图像设置为按钮背景:带有两个图像和文本的Android按钮,android,xml,button,Android,Xml,Button,我正在尝试构建android应用程序,需要构建一个包含两个图像和一些文本的按钮 以下是示例图像: 如何在android中构建此按钮?任何帮助都将不胜感激。两种选择: 您可以利用按钮上的setBackgroundDrawable将按钮的背景设置为具有所需图标的图像,然后文本将显示在背景上方 或者您可以尝试在嵌套在按钮中的XML文件中使用android:drawableLeft=@drawable/yourimage和/或android:drawableRight=@drawable/yourima
<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>
最终结果:
三个步骤:
拍摄了您提供的图像的屏幕截图。
将屏幕截图放置在“我的文件夹”的可绘制项目中,并将其命名为“背景”
在我的布局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>
最终结果:
您可以使用以下内容:
<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
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"/>
这里有一些代码让你开始。让我们从背景开始。如果没有为您提供该背景,并且您必须自己创建,那么让我们创建一个自定义的\u button\u 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>
干杯 以下是一些让您开始学习的代码。让我们从背景开始。如果没有为您提供该背景,并且您必须自己创建,那么让我们创建一个自定义的\u button\u 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>
干杯 您是否尝试过按钮的drawable属性“android:drawableLeft=@drawable/icon”,您还可以使用线性布局或其他类似按钮的布局。包含图像、文本、图像。您是否尝试过按钮的drawable属性“android:drawableLeft=@drawable/icon”,您还可以使用线性布局或其他类似按钮的布局。包含图像、文本、图像的。请不要使用图像发布代码。而且,这是一个非常糟糕的实现。原因是,它不会根据DPI和/或屏幕大小进行缩放。我通常不会这样做,但出于某种原因,我无法将按钮xml布局作为我的答案的代码发布,可能是因为它与SO的编辑器冲突。请随意发布一个更好的实现。我们在这里都是为了向better学习。从答案better格式化后删除下一票。请参阅@portfoliobuilder answer了解我将如何做到这一点。对于所有DPI,文本和布局的缩放效果更好,并且可以为图像提供一组绘图或矢量。人们也在暗示如何设置左右可抽绳。我从来没有尝试过两者都设置,我认为这是不可能的。但如果是的话,这是一个很好的答案。请不要用图片来发布代码。而且,这是一个非常糟糕的实现。原因是,它不会根据DPI和/或屏幕大小进行缩放。我通常不会这样做,但出于某种原因,我无法将按钮xml布局作为我的答案的代码发布,可能是因为它与SO的编辑器冲突。请随意发布一个更好的实现。我们在这里都是为了向better学习。从答案better格式化后删除下一票。请参阅@portfoliobuilder answer了解我将如何做到这一点。对于所有DPI,文本和布局的缩放效果更好,并且可以为图像提供一组绘图或矢量。人们也在暗示如何设置左右可抽绳。我从来没有尝试过两者都设置,我认为这是不可能的。但如果是的话,这是一个极好的答案。