Android:在Button或ImageButton上结合文本和图像
我试图在按钮上放置一个图像(作为背景)并动态添加,具体取决于运行时发生的情况以及图像上方/上方的某些文本。
如果我使用ImageButton
我甚至没有可能添加文本。 如果我使用Button
我可以添加文本,但只能使用android:drawableBottom
和此处定义的类似XML属性定义图像。
但是,这些属性仅将x和y维度的文本和图像组合在一起,这意味着我可以在文本周围绘制图像,但不能在文本下方/下方绘制图像(z轴定义为从显示屏中出来)。
有关如何做到这一点的任何建议? 一个想法是扩展Button
或ImageButton
并重写draw()
方法。 但以我目前的知识水平,我并不知道如何去做(2D渲染)。 也许有更多经验的人知道一个解决方案或至少有一些指针要开始?
您可以调用Button
上的setBackground()
来设置Button
的背景。
任何文字都会显示在背景上方。
如果您在xml中寻找类似的东西,可以使用: android:background
属性,它的工作方式相同。
对于只想将背景,图标 - 图像和文本置于不同文件的一个 Button
:设置在Button
背景上,可绘制上/下/左/左和填充属性。
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/home_btn_test"
android:drawableTop="@drawable/home_icon_test"
android:textColor="#FFFFFF"
android:id="@+id/ButtonTest"
android:paddingTop="32sp"
android:drawablePadding="-15sp"
android:text="this is text"></Button>
对于更复杂的安排,您也可以使用RelativeLayout
并使其可点击。
教程:涵盖两种情况的大教程:http://izvornikod.com/Blog/tabid/82/EntryId/8/Creating-Android-button-with-image-and-text-using-relative-layout.aspx
这个问题有更好的解决方案。
只需要一个普通的Button
并使用drawableLeft
和gravity
属性。
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/my_btn_icon"
android:gravity="left|center_vertical" />
这样你就可以得到一个按钮,它在按钮的左侧显示一个图标,在图标的右侧显示垂直居中的文本。
链接地址: http://www.djcxy.com/p/62167.html上一篇: Android: combining text & image on a Button or ImageButton