带有两个图像和文本的Android按钮

带有两个图像和文本的Android按钮,android,xml,button,Android,Xml,Button,我正在尝试构建android应用程序,需要构建一个包含两个图像和一些文本的按钮 以下是示例图像: 如何在android中构建此按钮?任何帮助都将不胜感激。两种选择: 您可以利用按钮上的setBackgroundDrawable将按钮的背景设置为具有所需图标的图像,然后文本将显示在背景上方 或者您可以尝试在嵌套在按钮中的XML文件中使用android:drawableLeft=@drawable/yourimage和/或android:drawableRight=@drawable/yourima

我正在尝试构建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文件中。将图像设置为按钮背景:

<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,文本和布局的缩放效果更好,并且可以为图像提供一组绘图或矢量。人们也在暗示如何设置左右可抽绳。我从来没有尝试过两者都设置,我认为这是不可能的。但如果是的话,这是一个极好的答案。