需要图片按钮下方的文本

qyuhtwio  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(325)

我有一个按钮。我希望文本显示在图像的底部。所以,我创建了一个框架布局。我把imagebutton和文本视图放在里面。但当我在设备上运行代码时,文本与按钮重叠。它不会显示在图像的底部。怎么解决?我有3个图像按钮。它们都放置在线性布局中。
代码:

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="horizontal" android:padding="0dp"
    android:layout_height="wrap_content" android:gravity="fill_horizontal" android:layout_margin="0dp">

    <FrameLayout android:layout_height="wrap_content"
        android:layout_width="wrap_content" android:orientation="vertical"
        android:gravity="fill_vertical" android:layout_margin="10dp">

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="25dp"

            android:layout_gravity="center_vertical"
            android:ellipsize="end"
            android:scrollHorizontally="true"
            android:singleLine="true"
            android:text="scan ticket"
            android:textStyle="bold"
            android:layout_alignEnd="@+id/tv_question"
            android:layout_alignRight="@+id/tv_question"
            android:background="#00ffffff"
            android:src="@drawable/scan_ticket"
            android:layout_weight="1"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:clickable="false"
            android:text="scan ticket" >
        </TextView>
    </FrameLayout>

    <FrameLayout android:layout_height="wrap_content"
        android:layout_width="wrap_content" android:orientation="vertical"
        android:gravity="fill_vertical" android:layout_margin="10dp">

    <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="25dp"
            android:layout_gravity="center_vertical"
            android:ellipsize="end"
            android:scrollHorizontally="true"
            android:singleLine="true"
            android:text="scan and pay"
            android:textStyle="bold"
            android:layout_alignEnd="@+id/tv_question"
            android:layout_alignRight="@+id/tv_question"
            android:background="#00ffffff"
            android:src="@drawable/scan_and_pay"
            android:layout_weight="1"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:clickable="false"
            android:text="scan and pay" >
        </TextView>
    </FrameLayout>

    <FrameLayout android:layout_height="wrap_content"
        android:layout_width="wrap_content" android:orientation="vertical"
        android:gravity="fill_vertical" android:layout_margin="10dp">

    <ImageButton
            android:id="@+id/imageButton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="25dp"
            android:layout_gravity="center_vertical"
            android:ellipsize="end"
            android:scrollHorizontally="true"
            android:singleLine="true"
            android:text="bank transfer"
            android:textStyle="bold"
            android:layout_alignEnd="@+id/tv_question"
            android:layout_alignRight="@+id/tv_question"
            android:background="#00ffffff"
            android:src="@drawable/bank_transfer"
            android:layout_weight="1"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:clickable="false"
            android:text="bank transfer" >
        </TextView>
    </FrameLayout>

    </LinearLayout>
trnvg8h3

trnvg8h31#

constraintlayout将对您的问题非常有帮助。可以由其他人定位图元。以下是文档:constraintlayout

8fq7wneg

8fq7wneg2#

完成使用android:layout_marginbottom 以及android:layout_margintop 如代码所示。
面临的问题:imagebutton中显示的图像不是完整的图像,但我现在成功地处理了它android:layout_marginbottom 以及android:layout_margintop 在imagebutton和textview中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:orientation="horizontal" android:padding="0dp"
android:layout_height="wrap_content" android:gravity="fill_horizontal" android:layout_margin="0dp">

<FrameLayout android:layout_height="wrap_content"
    android:layout_width="wrap_content" android:orientation="vertical"
    android:gravity="fill_vertical" android:layout_margin="10dp">

    <ImageButton
        android:id="@+id/imageButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="25dp"
        android:layout_marginBottom="40dp"
        android:layout_marginTop="0dp"
        android:layout_gravity="center_vertical"
        android:ellipsize="end"
        android:scrollHorizontally="true"
        android:singleLine="true"
        android:text="scan ticket"
        android:textStyle="bold"
        android:layout_alignEnd="@+id/tv_question"
        android:layout_alignRight="@+id/tv_question"
        android:background="#00ffffff"
        android:src="@drawable/scan_ticket"
        android:layout_weight="1"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_marginBottom="65dp"
        android:layout_marginTop="65dp"
        android:clickable="false"
        android:text="scan and pay" >
    </TextView>
</FrameLayout>

<FrameLayout android:layout_height="wrap_content"
    android:layout_width="wrap_content" android:orientation="vertical"
    android:gravity="fill_vertical" android:layout_margin="10dp">

<ImageButton
        android:id="@+id/imageButton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="25dp"
        android:layout_marginBottom="40dp"
        android:layout_marginTop="0dp"
        android:layout_gravity="center_vertical"
        android:ellipsize="end"
        android:scrollHorizontally="true"
        android:singleLine="true"
        android:text="scan and pay"
        android:textStyle="bold"
        android:layout_alignEnd="@+id/tv_question"
        android:layout_alignRight="@+id/tv_question"
        android:background="#00ffffff"
        android:src="@drawable/scan_and_pay"
        android:layout_weight="1"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="65dp"
        android:layout_marginTop="65dp"
        android:clickable="false"
        android:text="scan and pay" >
    </TextView>
</FrameLayout>

<FrameLayout android:layout_height="wrap_content"
    android:layout_width="wrap_content" android:orientation="vertical"
    android:gravity="fill_vertical" android:layout_margin="10dp">

<ImageButton
        android:id="@+id/imageButton3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="25dp"
        android:layout_marginBottom="40dp"
        android:layout_marginTop="0dp"
        android:layout_gravity="center_vertical"
        android:ellipsize="end"
        android:scrollHorizontally="true"
        android:singleLine="true"
        android:text="bank transfer"
        android:textStyle="bold"
        android:layout_alignEnd="@+id/tv_question"
        android:layout_alignRight="@+id/tv_question"
        android:background="#00ffffff"
        android:src="@drawable/bank_transfer"
        android:layout_weight="1"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="65dp"
        android:layout_marginTop="65dp"
        android:clickable="false"
        android:text="bank transfer" >
    </TextView>
</FrameLayout>

</LinearLayout>

相关问题