我有一些按钮位于复杂的布局中。问题是,无论我做什么,按钮内的文本都无法居中对齐。我尝试添加android:gravity="center",我尝试从代码中设置重心,我尝试删除按钮上所有的格式。我做错了什么?按钮上的文本需要居中对齐。
以下是我的布局:
无论我怎么做,为什么文本总是左对齐而不是居中?我似乎无法弄清楚原因。
以下是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:layout_width="wrap_content"
android:layout_height="130dp" android:layout_gravity="center"
android:orientation="vertical">
<!-- android:background="@drawable/picture_frame_94x94_suggested_matches" -->
<ImageView android:layout_width="wrap_content"
android:src="@drawable/picture_unknown" android:layout_height="fill_parent"
android:scaleType="centerInside" android:paddingTop="12dp"
android:paddingBottom="40dp" android:id="@+id/suggest_icon"
android:layout_gravity="center"></ImageView>
<TextView android:layout_width="wrap_content"
android:layout_gravity="center_horizontal|bottom"
android:paddingLeft="4dp" android:paddingRight="4dp"
android:layout_height="wrap_content" android:id="@+id/suggest_name"
android:textAppearance="?android:attr/textAppearanceMedium"
android:paddingBottom="12dp" android:textColor="@color/black"></TextView>
</FrameLayout>
<LinearLayout android:orientation="horizontal"
android:layout_gravity="center_horizontal" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_weight="0.4">
<Button android:id="@+id/unmatch_button" android:text="Un-match" android:textColor="@color/white"
android:background="@drawable/button_background" android:layout_gravity="center_vertical"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="8dp" android:layout_marginLeft="8dp" android:gravity="center"
android:visibility="gone" android:textAppearance="?android:attr/textAppearanceMedium" />
<Button android:id="@+id/nextmatch_button" android:text="@string/next" android:textColor="@color/white"
android:background="@drawable/button_background" android:layout_gravity="center_vertical"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="8dp" layout_marginLeft="8dp" android:gravity="center"
android:visibility="gone" android:textAppearance="?android:attr/textAppearanceMedium" />
<Button android:id="@+id/donematchpicker_button" android:text="@string/done" android:textColor="@color/white"
android:background="@drawable/button_background" android:layout_gravity="center_vertical"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="8dp" layout_marginLeft="8dp" android:gravity="center"
android:visibility="gone" android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<TextView android:layout_width="wrap_content"
android:layout_gravity="center_horizontal|bottom"
android:paddingLeft="4dp" android:paddingRight="4dp"
android:layout_height="wrap_content" android:id="@+id/suggest_count"
android:textAppearance="?android:attr/textAppearanceMedium"
android:paddingBottom="12dp" android:textColor="@color/black"></TextView>
<include layout="@layout/facebook_list" android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<View android:id="@+id/list_devider" android:layout_width="fill_parent"
android:layout_height="1dp" android:background="?android:attr/listDivider"
android:visibility="gone" />
<LinearLayout android:orientation="horizontal"
android:layout_weight="0.4" android:layout_gravity="center_horizontal"
android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button android:id="@+id/exit_button" android:text="@string/exit" android:textColor="@color/white"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/button_background" android:layout_marginRight="8dp"
layout_marginLeft="8dp" android:visibility="gone" android:gravity="center"
android:layout_marginTop="12dp" android:textAppearance="?android:attr/textAppearanceMedium" />
<Button android:id="@+id/donematch_button" android:text="@string/done" android:textColor="@color/white"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/button_background" android:layout_marginRight="8dp"
layout_marginLeft="8dp" android:visibility="gone" android:gravity="center"
android:layout_marginTop="12dp" android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
这是对话框背景的XML代码:
<?xml version="1.0" encoding="UTF-8"?>
<solid android:color="#969798" />
<stroke android:width="3dp" android:color="#7dd6ee" />
<corners android:bottomRightRadius="6dp" android:bottomLeftRadius="6dp"
android:topLeftRadius="6dp" android:topRightRadius="6dp"/>
截图: http://i39.tinypic.com/fc8aoo.png
这是示例按钮的初始化:
nextButton = (Button)findViewById(R.id.nextmatch_button);
nextButton.setVisibility(View.VISIBLE);
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
public void run() {
// bunch of code
});
nextButton.setGravity(Gravity.CENTER);
这是按钮背景的定义:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/button_small_hover" />
<item android:state_focused="true" android:drawable="@drawable/button_small_hover" />
<item android:state_enabled="false" android:drawable="@drawable/button_small2_disabled" />
<item android:drawable="@drawable/button_small2" />
</selector>
无论我怎么做,为什么文本总是左对齐而不是居中?我似乎无法弄清楚原因。