Android的ImageButton当显示Drawable图片时就不显示文字
程序员文章站
2023-11-12 10:27:22
很多人对 android提供的imagebutton有个疑问,当显示drawable图片时就不会再显示文字了,其实解决的方法有三种: 第一种:就是图片中就写入文字,但是这样...
很多人对 android提供的imagebutton有个疑问,当显示drawable图片时就不会再显示文字了,其实解决的方法有三种:
第一种:就是图片中就写入文字,但是这样解决会增加程序体积,同时硬编码方式会影响多国语言的发布。
第二种:解决方法很简单,通过分析可以看到imagebutton的 layout,我们可以直接直接继承,添加一个textview,对齐方式为右侧即可实现imagebutton支持文字右侧显示。
第三种:更简洁效率的方法:使用button ,然后设定button 的 android:drawableleft 等属性即可。示例:
<button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableleft="@drawable/icon"
android:text="按钮"
/>
第四种:用布局多封一层
<linearlayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/bt">
<imageview
android:id="@+id/ib"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ringlove"
android:background="#00000000"
/>
<textview
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cs"
android:paddingleft="20px"
/>
</linearlayout>
第一种:就是图片中就写入文字,但是这样解决会增加程序体积,同时硬编码方式会影响多国语言的发布。
第二种:解决方法很简单,通过分析可以看到imagebutton的 layout,我们可以直接直接继承,添加一个textview,对齐方式为右侧即可实现imagebutton支持文字右侧显示。
第三种:更简洁效率的方法:使用button ,然后设定button 的 android:drawableleft 等属性即可。示例:
复制代码 代码如下:
<button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableleft="@drawable/icon"
android:text="按钮"
/>
第四种:用布局多封一层
复制代码 代码如下:
<linearlayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/bt">
<imageview
android:id="@+id/ib"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ringlove"
android:background="#00000000"
/>
<textview
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cs"
android:paddingleft="20px"
/>
</linearlayout>