gpt4 book ai didi

android - 如何创建文本和图像居中且大小设置为 match_parent 的按钮

转载 作者:搜寻专家 更新时间:2023-11-01 08:06:33 24 4
gpt4 key购买 nike

我想要一个这样的按钮:

+-----------------------+
| |
| +-----+ |
| |Image| |
| +-----+ |
| Text |
| |
| |
+-----------------------+

编辑:图片说明:我希望图像和文本的组合居中(文本始终位于图像下方)

我希望 Button 拉伸(stretch)到父对象(使整个区域成为按钮点击区域)并且仍然将图像和文本居中对齐。

我仅通过以下代码实现了顶部居中对齐,但我没有得到所需的行为...

<Button
android:id="@+id/btInfo"
android:paddingTop="20dp"
android:layout_width="0dp"
android:layout_height="match_parent"
android:gravity="top|center_horizontal"
android:layout_weight="1"
android:background="@drawable/border_button_main_menu"
android:drawableTop="@drawable/bt_info"
android:onClick="onClick"
android:text="@string/info"
android:textColor="@drawable/bt_white_red_text"
android:textSize="15dp" />

android:gravity="top|center_horizo​​ntal" 更改为 android:gravity="center_vertical|center_horizo​​ntal" 只会导致图像在顶部居中,文本在底部居中。 ..


----- 编辑2 -----

通缉行为:

1) 看起来像描述的那样(图像和文本是一个光学组,该组以按钮为中心)

2) 文本应该是按钮的一部分(我希望 onclick 行为与选择器一起使用)


----- 编辑3 -----

添加了我自己的解决方案...但感谢所有试图提供帮助的人

最佳答案

使用下面的代码,你的问题就解决了。

<Button
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignBottom="@+id/foreground"
android:layout_alignLeft="@+id/foreground"
android:layout_alignRight="@+id/foreground"
android:layout_alignTop="@+id/foreground"
android:background="@android:drawable/dialog_frame"
android:onClick="clickedMe" />

<RelativeLayout
android:id="@+id/foreground"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true" >

<TextView
android:id="@+id/button_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="112dp"
android:text="@string/hello_world" />

<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button_text"
android:layout_centerHorizontal="true"
android:paddingBottom="10dip"
android:paddingTop="10dip"
android:src="@drawable/ic_launcher" />

</RelativeLayout>

</RelativeLayout>

------------编辑--------------------

oNclick 方法:

final TextView text = (TextView) findViewById(R.id.button_text);
RelativeLayout foreground = (RelativeLayout) findViewById(R.id.foreground);
foreground.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
Log.d(TAG, "clicked");
Toast.makeText(getApplicationContext(), "Clicked...!!!",
Toast.LENGTH_LONG).show();
text.setTextColor(Color.RED);
}
});

关于android - 如何创建文本和图像居中且大小设置为 match_parent 的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13723236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com