如何在按钮中显示图像?
How to display an Image in Button?
我的 activity_login.xml 中有此代码。
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="25dp"
android:background="#6cb42e"
android:gravity="center"
android:onClick="login"
android:text="@string/login"
android:icon="@drawable/tasto_login"
android:textColor="#FFFFFF"
android:textSize="20sp" />
我想在按钮右侧显示图像 tasto_login.png。
在这个按钮中,我想要按钮右侧的背景颜色、文本中心和图像。
所以使用这段代码,我没有看到任何图像。
我展示一下:
但我想要这个:
您必须像这样拍摄背景图片 this.and 将此图片设置为背景。
使用现有代码,您只需使用 drawableRight
,例如:
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="25dp"
android:background="#6cb42e"
android:gravity="center"
android:onClick="login"
android:text="@string/login"
android:drawableRight="@drawable/tasto_login"
android:textColor="#FFFFFF"
android:textSize="20sp" />
添加paddingRight
修改图标放置位置。
您可以将线性布局用作按钮:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="25dp"
android:background="#6cb42e"
android:gravity="center"
android:onClick="login"
android:orientation="horizontal"
>
<Textview
/>
<ImageView
/>
</LinearLayout
使用 Linearlayout 和 TextView 创建自定义按钮:
<LinearLayout
android:id="@+id/customButton1"
style="@android:style/Widget.Button"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="25dp"
android:background="#6cb42e"
android:gravity="center"
android:onClick="login">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/tasto_login"
android:text="@string/login"
android:gravity="center"
android:textColor="#FFFFFF"
android:drawablePadding="5dp"
android:textSize="20sp" />
</LinearLayout>
使用按钮本身的属性作为
android:drawableRight="@drawable/tasto_login"
这会将图像添加到按钮中文本的右侧。
您可以使用 android:drawableRight
xml 属性来指定图像。
您还可以使用 android:drawablePadding
和其他 padding/margin 属性将图像定位在按钮上。
只需将 android:icon="@drawable/tasto_login" 替换为 android:drawableRight="@drawable/tasto_login"
并使用 android:drawablePadding
设置填充
我的 activity_login.xml 中有此代码。
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="25dp"
android:background="#6cb42e"
android:gravity="center"
android:onClick="login"
android:text="@string/login"
android:icon="@drawable/tasto_login"
android:textColor="#FFFFFF"
android:textSize="20sp" />
我想在按钮右侧显示图像 tasto_login.png。 在这个按钮中,我想要按钮右侧的背景颜色、文本中心和图像。
所以使用这段代码,我没有看到任何图像。
我展示一下:
但我想要这个:
您必须像这样拍摄背景图片 this.and 将此图片设置为背景。
使用现有代码,您只需使用 drawableRight
,例如:
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="25dp"
android:background="#6cb42e"
android:gravity="center"
android:onClick="login"
android:text="@string/login"
android:drawableRight="@drawable/tasto_login"
android:textColor="#FFFFFF"
android:textSize="20sp" />
添加paddingRight
修改图标放置位置。
您可以将线性布局用作按钮:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="25dp"
android:background="#6cb42e"
android:gravity="center"
android:onClick="login"
android:orientation="horizontal"
>
<Textview
/>
<ImageView
/>
</LinearLayout
使用 Linearlayout 和 TextView 创建自定义按钮:
<LinearLayout
android:id="@+id/customButton1"
style="@android:style/Widget.Button"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="25dp"
android:background="#6cb42e"
android:gravity="center"
android:onClick="login">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableRight="@drawable/tasto_login"
android:text="@string/login"
android:gravity="center"
android:textColor="#FFFFFF"
android:drawablePadding="5dp"
android:textSize="20sp" />
</LinearLayout>
使用按钮本身的属性作为
android:drawableRight="@drawable/tasto_login"
这会将图像添加到按钮中文本的右侧。
您可以使用 android:drawableRight
xml 属性来指定图像。
您还可以使用 android:drawablePadding
和其他 padding/margin 属性将图像定位在按钮上。
只需将 android:icon="@drawable/tasto_login" 替换为 android:drawableRight="@drawable/tasto_login" 并使用 android:drawablePadding
设置填充