加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 一个按钮的Android背景文本图标

发布时间:2020-12-14 05:29:03 所属栏目:Java 来源:网络整理
导读:我想有一个图像设置为背景上的文字和文本左侧的图标. 在iPhone上很容易,但是无法弄清楚如何在 Android上做到这一点,可以调整大小的按钮并保持图标的文字位置和距离. 苹果手机: Android我有这个: xml代码是: Button android:id="@+id/btSettings" 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" />

从here获取代码.

如果我使用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放在其中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读