在程序中我有EditText
。我想,在代码中设置文本Gravity
:
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int size = 40;
TableLayout tl;
tl = (TableLayout)findViewById(R.id.layout);
TableRow tr;
tr = (TableRow)findViewById(R.id.tableRow);
EditText et = new EditText(this);
TableRow.LayoutParams params = new TableRow.LayoutParams();
params.height = size;
params.width = size;
et.setLayoutParams(params);
et.setBackgroundColor(Color.BLUE);
et.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL);
et.setTextSize(size - size / 4);
et.setText("3");
tr.addView(et);
}
我的XML:
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/layout"
xmlns:android="http://schemas.android.com/apk/res/android">
<TableRow
android:id="@+id/tableRow"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</TableRow>
</TableLayout>
但是,在屏幕上我可以看到:
如何在代码中设置文本重力(水平和垂直)?
答案 0 :(得分:0)
试试这个..
尝试为Gravity
和TableLayout
TableRow
tl.setGravity(Gravity.CENTER);
tr.setGravity(Gravity.CENTER);
答案 1 :(得分:0)
您可以将xml添加到问题中吗?元素对不同类型的布局有不同的反应。即使您指定了引力,如果您没有正确的布局,它也不会移动。
答案 2 :(得分:0)
您也可以在布局参数上设置重力:
params.gravity = Gravity.CENTER;