Android 设置代码中的重力不工作
在程序中,我有Android 设置代码中的重力不工作,android,android-edittext,Android,Android Edittext,在程序中,我有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)fi
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>
但是,在屏幕上我可以看到:
如何在代码中设置文字重力(水平和垂直)?试试这个
尝试为TableLayout
和TableRow
设置Gravity
tl.setGravity(Gravity.CENTER);
tr.setGravity(Gravity.CENTER);
您可以将xml添加到问题中吗?元素对不同类型的布局的反应不同。如果没有正确的布局,即使指定重力,它也不会移动。您也可以在布局参数上设置重力:
params.gravity = Gravity.CENTER;
你应该使用谷歌提供的虚拟手机软件,这样你就有了更多的信息来调试你的布局。静态布局也有同样的问题吗。也许你可以更好地使用屏幕截图功能。而不是把你的手机放在扫描仪上。你的想法设置在屏幕上的中间编辑文本中。我只需要编辑文本的中心文本(数字)。@user3483899只需使用
et.setGravity(Gravity.center)代码>设置重力(重心);与图片上的效果相同。@user3483899指定EditText的高度和宽度,然后尝试使用height=50和width=100