私はしたいときに私のレイアウトに動的にボタンを追加したいです。 ボタンは、このXMLボタンのようにする必要があります:プログラムでボタンを作成するにはどうすればよいですか?
<Button android:text="Text"
android:gravity="bottom"
android:textSize="10dp"
android:textColor="#FFFFFF"
android:layout_width="wrap_content"
android:background="@drawable/attack1"
android:layout_height="wrap_content"
android:id="@+id/workingButton">
</Button>
。
public class GravityIssueActivity extends Activity
{
LinearLayout layout;
Button newButton;
Button buttonByXml;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//the button in the xml file
buttonByXml = (Button)findViewById(R.id.workingButton);
layout = (LinearLayout)findViewById(R.id.layoutToInsert);
//my new programatically "born" button
newButton = new Button(this);
//Setting the properties as i want
newButton.setText("Text");
newButton.setTextSize(10);
newButton.setTextColor(Color.WHITE);
newButton.setBackgroundResource(R.drawable.attack1);
// Gravity = Bottom !!!!!!!!!!
newButton.setGravity(Gravity.BOTTOM);
// getting the XML buttons params just for case...
newButton.setLayoutParams(new LayoutParams(buttonByXml.getLayoutParams()));
//Adding my new Button to the layout
layout.addView(newButton);
}
}
そして、ここでの結果の画像です:
私はすべての属性をコピーすることが可能である異なる結果となりました方法は?
正直に言うと、私は重力のみで問題が発生しました。私はテキストが底になるようにすることはできません。 (LinePane.LayoutParams) params.gravity = 80はちょうどうまく機能していません。 –
ボタンの内側にテキストを配置するか、親の中にボタンを配置するには重力が必要ですか? – Vladimir
私はちょうどボタンのテキストをボタンの下部に揃えたいと思っています:) –