java - 图片按钮下方需要文字
问题描述
我有一个图像按钮。我希望文本显示在图像的底部。所以,我创建了一个框架布局。我在其中放置了图像按钮和文本视图。但是当我在设备上运行代码时,文本与按钮重叠。它没有显示在图像的底部。如何解决这个问题?我有 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>
解决方案
使用 android:layout_marginBottom 和 android:layout_marginTop 完成,如代码所示。
面临的问题:imagebutton 中显示的图像不是完整图像但我现在设法在 ImageButton 和 TextView 中操作 android:layout_marginBottom 和 android:layout_marginTop
<?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>
推荐阅读
- .net - 如何在 .NET 5.0 中编辑数据库(代码优先方法)
- python - 如何在 python 中自动检测和验证日期格式?
- kotlin - 原生 sdk 的 Paypal 返回 url
- kotlin - 在没有额外库的情况下在 Kotlin 1.1.0 中发出异步网络请求的正确方法
- c# - c#从pdf文件中读取文本(表结构)
- reactjs - 状态为空,但操作正在加载数据
- image - 将一系列图像加入视频的 Bash 命令
- javascript - 将 Json 数组嵌套到对象
- curl - 从 Bintray 下载整个存储库
- apache-flink - 每当我在 flink 中使用 tumblingEventWindow 30 秒并使用自定义触发器但触发器未在注册事件时间触发时