如何在Android中添加图像到按钮

lkaoscv7  于 2023-06-28  发布在  Android
关注(0)|答案(5)|浏览(116)

我想知道我是如何把一个图像到一个按钮。
我尝试使用"android:icon ="@drawable/search.png"并将此图像添加到drawable-hdpi文件夹中,但图像不显示。我正在为nexus4开发一个应用程序,所以我不知道图像应该是什么大小。我试图添加的图像是Nexus 4的联系人管理器中使用的普通搜索图标。
到目前为止我写的代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/lbl_group_coworkers"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Coworkers"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp" />

    <TextView 
        android:id="@+id/lbl_group_family"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Family"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp"/>
    <TextView
        android:id="@+id/lbl_group_friends"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Friends"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:orientation="vertical" >

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/Button1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.70"
            android:icon="@drawable/search.png" />

        <Button
            android:id="@+id/Button2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="addGroup"
            android:icon="@drawable/addgroup.png"/>

        <Button
            android:id="@+id/Button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.11"
            android:text="@string/Button3" />
    </LinearLayout>

</LinearLayout>
67up9zun

67up9zun1#

<Button
        android:id="@+id/Button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:onClick="addGroup"
        android:text="TEXT"
        android:background="@drawable/addgroup"/>

同时添加backgroundimage以及text
换掉

android:background="@drawable/addgroup"

android:background="@android:color/transparent"
android:drawableTop="@drawable/addgroup"
android:text="TEXT"

您还可以在按钮布局中使用属性,其中属性定义要放置在按钮中的图像源

android:drawableLeft
android:drawableRight
android:drawableBottom
android:drawableTop
hgtggwj0

hgtggwj02#

使用属性

android:background="@drawable/...."
iyfamqjs

iyfamqjs3#

您可以使用以下命令设置按钮的背景:
android:background="@drawable/..."

4ngedf3f

4ngedf3f4#

  • 请在res中创建可绘制文件夹,并在可绘制文件夹中创建buttonanimation.xml *
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/add_incident_resetfocus" android:state_focused="true" android:state_pressed="true"/>
<item android:drawable="@drawable/add_incident_resetfocus" android:state_focused="false" android:state_pressed="true"/>
<item android:drawable="@drawable/add_incident_resetfocus" android:state_focused="true"/>
<item android:drawable="@drawable/add_incident_reset" android:state_focused="false" android:state_pressed="false"/>
</selector>
  • 并在布局按钮背景中使用此按钮动画。*
<Button
                android:id="@+id/reset_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/buttonanimation"
                 />
carvr3hs

carvr3hs5#

只需在按钮中使用以下代码:

android:background="@drawable/your_drawable_or_png_file"
app:backgroundTintMode="add"

对我很有效!

相关问题