如何在按钮中设置重力,它的背景是可绘制的?

时间:2012-09-22 08:51:40

标签: android android-button

我有一个按钮,我按照以下方式设置背景:

button.setBackgroundResource(R.drawable.bg);

之后我在按钮上添加了文字,我想让它居中:

button.setGravity(Gravity.CENTER);

但它不起作用。

drawable是shape:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:top="-1dp" android:right="-1dp">
      <shape>
            <solid android:color="@color/white" />
            <stroke android:width="1dp" android:color="@android:color/darker_gray" />
      </shape>
    </item>
</layer-list>

如何将重力设置为按钮?

1 个答案:

答案 0 :(得分:1)

在布局的XML文件中放一个按钮。

xml的代码在

之下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:text="Button" />

现在进入您的活动

对于按钮的设定重力,请执行此操作..

    public class MainActivity extends Activity {

private Button b;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    b = (Button) findViewById(R.id.button1);
    b.setBackgroundResource(R.drawable.ic_launcher);

    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
            LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

        params.gravity = Gravity.CENTER;

        b.setLayoutParams(params);



} 

}

这对我有用....

快乐的编码......