2012-09-22 39 views
0

我有一个按钮,我设置它的背景如下:如何设置背景中的按钮的重力是可绘制的?

button.setBackgroundResource(R.drawable.bg); 

之后,我添加文字按钮,我希望它为中心:

button.setGravity(Gravity.CENTER); 

,但它不工作。

的绘制是形状:

<?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> 

如何设置重力按钮?

+0

你做了什么输出告诉我们一些截图你需要什么,当你试图提到的代码发生了什么? – Akram

+0

您是否动态创建按钮? –

+0

是的,我动态地创建了按钮。我现在无法上传屏幕截图,但我可以确定文本位于按钮的顶部,而不是中间。 – LiorZ

回答

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); 



} 

}

氏旨意为我工作....

快乐编码....

相关问题