作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想要一个这样的按钮:
+-----------------------+
| |
| +-----+ |
| |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_horizontal"
更改为 android:gravity="center_vertical|center_horizontal"
只会导致图像在顶部居中,文本在底部居中。 ..
通缉行为:
1) 看起来像描述的那样(图像和文本是一个光学组,该组以按钮为中心)
2) 文本应该是按钮的一部分(我希望 onclick 行为与选择器一起使用)
添加了我自己的解决方案...但感谢所有试图提供帮助的人
最佳答案
使用下面的代码,你的问题就解决了。
<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/
我是一名优秀的程序员,十分优秀!