Android ImageButton 和 TextView 在 Framelayout 中的索引位置

问题描述 投票:0回答:1

我有一排 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 imageview android-framelayout
1个回答
0
投票

嗯,Android Studio 根本没有在 TextView 中自动建议我

android:gravity
,但是当我手动添加它时,它就完成了。因此
android:layout_gravity
移动到正确位置,
android:gravity
使文本居中。

简单:)

© www.soinside.com 2019 - 2024. All rights reserved.