是否可以在一个带有彩色背景的ImageButton中添加多个TextView?
核心需求是在其上有一个带有操作文本的按钮,附近有一个子文本,用于解释操作或提供与操作相关的其他信息。该潜台词可能会不时变化。
考虑到这个要求,一个解决方案是在下面有一个普通按钮和一个子文本,而不是可点击的。但我发现它很乱。我喜欢的一个更好的方法是,例如在iOS上,有一个可点击的UIView,其中包含粗体文本的操作和浅文本的解释。查看包含4个按钮的图像:
如何在Android上使用Java实现相同的功能?我最接近的是将一个ImageButton放在TextView下面,听起来不对。
可以将TextViews嵌套在ImageButton中吗?如果没有,最好的选择是什么?
答案 0 :(得分:1)
我希望这可能有用,它解释了如何在XML中的imageView内部和前面定位textView。
TextView inside of ImageButton/ImageView XML - Android Dev
显然,请确保每个视图都有一个唯一的ID /名称,您可以在此处指定on this link
抱歉,我无法自己解释,但自从用Java开发以来已经有一段时间了。
答案 1 :(得分:0)
我不知道为什么你想要这种行为,但你可以为你的视图创建一个容器,并为整个视图添加一个点击监听器。你也可以在任何地方使用它。
这样的例子就是。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:layout_width="match_parent"
android:background="@drawable/container_background"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="0.33"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="0.33"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="0.33"
/>
添加选择器背景
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/text_pressed" />
<item android:color="@color/normal" />
</selector>
和听众
findViewById(R.id.container).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});