我有一排 3 个 ImageButtons 包裹在 LinearLayout 中。
然后将每个ImageButton封装在一个FrameLayout中:
<FrameLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1">
<ImageButton
android:layout_width="wrap_content"
android:layout_margin="5dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="centerInside"
android:src="@drawable/btn1"
android:background="@null"
android:foreground="?android:attr/selectableItemBackground" />
<TextView
android:layout_width="35dp"
android:layout_height="35dp"
android:text="1"
android:textSize="12sp"
android:textColor="#ffffff"
android:padding="10dp"
android:layout_gravity="top|right"
android:background="@drawable/smallcircle"/>
</FrameLayout>
在每个 ImageView 上,我希望在右上角有一个带有圆形背景的小数字。这工作得很好,但我无法将文本置于圆圈中心。
如果我有文字,例如15,看起来是居中的,但是当数字只有1的时候,它并不在中心。
我无法在 TextView 中使用中心,因为已经有一个布局重力将带有圆圈的数字移动到右上角。
圆圈背景:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="35dp"
android:height="35dp" />
<solid android:color="#4CAF50" />
</shape>
嗯,Android Studio 根本没有在 TextView 中自动建议我
android:gravity
,但是当我手动添加它时,它就完成了。因此 android:layout_gravity
移动到正确位置,android:gravity
使文本居中。
简单:)