Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 里面有文字的图标 – 如何在布局中定义?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望将一个TextView(显示计数)悬停在ActionBar中的一个图标上.我所做的是有一个RelativeLayout,为它设置一个背景,然后将TextView放在该布局中并拧上边距直到它适合,但是一旦文本长度变化就会被打破.
在TextView上设置背景也不是很好,因为我无法将文本放置在与图标相关的位置.

这是我的XML

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://scheR_438_11845@as.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_gravity="fill_horizontal" >

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentright="true"
        android:layout_centerVertical="true"
        android:BACkground="@drawable/cart" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="0"
        android:layout_marginTop="5dp"      android:layout_marginLeft="43dp"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout> </RelativeLayout>

这是一个屏幕截图,向您展示我的意思:

是否有一种无压力的方式,也许是一个库,它允许我在Drawable上设置TextView,以便TextView始终居中/定位?

解决方法

实际上,您可以相对于图标定位文本.您需要将购物车图标和数字徽章图标分开为单独的图像,然后单独列出.不久前我不得不这样做,我用RelativeLayout做了,带有购物车图标的ImageView和带有9个贴片“徽章”作为背景的数字的TextView.

诀窍是将数字TextView与购物车图标ImageView的左下角对齐,然后使用左下边距将数字徽章推到购物车图标的顶部和右侧.这样,数字徽章始终根据您的购物车图标进行锚定.

此外,将TextView的重力设置为居中,以便随着数字变宽,文本的相对位置大致相同.最后,在TextView上使用填充来控制数字边缘与“徽章”9补丁边缘之间的间隙.

这是我的实现的片段(我已经修改了一些):

<RelativeLayout
        android:id="@+id/cartButton"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent" >

        <ImageView
            android:id="@+id/cartIconImageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:src="@drawable/ic_menu_cart" />

        <TextView
            android:id="@+id/cartBadge"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/cartIconImageView"
            android:layout_alignLeft="@+id/cartIconImageView"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="9dp"
            android:BACkground="@drawable/state_list_carT_Badge"
            android:gravity="center"
            android:includeFontPadding="false"
            android:lines="1"
            android:paddingLeft="8dp"
            android:paddingRight="8dp"
            android:text="7" />
    </RelativeLayout>

这就是它的样子:

大佬总结

以上是大佬教程为你收集整理的android – 里面有文字的图标 – 如何在布局中定义?全部内容,希望文章能够帮你解决android – 里面有文字的图标 – 如何在布局中定义?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。