我想有一个图像设置为背景上的文字和文本左侧的图标.
在iPhone上很容易,但是无法弄清楚如何在 Android上做到这一点,可以调整大小的按钮并保持图标的文字位置和距离.
在iPhone上很容易,但是无法弄清楚如何在 Android上做到这一点,可以调整大小的按钮并保持图标的文字位置和距离.
苹果手机:
Android我有这个:
xml代码是:
<Button android:id="@+id/btSettings" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@id/tvWhatever" android:layout_centerHorizontal="true" android:layout_marginBottom="20dp" android:background="@drawable/bt_general" android:drawabletop="@drawable/settings_selected" android:text="@string/settings" android:textColor="#000000" />
如果我使用android:drawableLeft,那么图标就会到最左边的部分.
如果我开始玩半硬编码的paddings,比我将有不同的看法diff devives :(手机和桌子)
如果我添加的android:gravity =“left | center_vertical”比它将看起来像这样:
文本是可变的:当用户更改语言时,它将会改变.
如何做到正确?
我不想低估任何人的答案,但请阅读这个问题,不要建议我已经尝试了.还告诉硬编码的修补程序不能正常工作.
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/bt_general" android:padding="20dip" > <ImageView android:id="@+id/xIcon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_marginLeft="10dip" android:src="@drawable/settings_selected" /> <TextView android:id="@+id/xSettingsTxt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="@string/settings" android:textColor="#000000" /> </RelativeLayout>
你觉得如何在galaxy S4上看起来像android:layout_marginLeft =“10dip”?这是一个预览:
这不是我所问的.由于手机具有HPDI,较小的屏幕和平板电脑具有MDPI和广泛的分辨率,因此“dip”或“dp”或“px”不应该作为距离左上角的距离使用.简单不适用于mdpi和xxhdpi.
Nizam answer非常接近一个很好的解决方案:
解决方法
也许你应该使用RelativeLayout与圆角,而不是将TextView和ImageView放在其中.
原文地址:https://www.jb51.cc/java/122465.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。