如何使用java代码将textView置于线性布局中心

时间:2012-05-10 21:03:45

标签: android textview android-linearlayout

所以我想将一个文本View放在一个线性布局中心,我有另外两个填充线性布局的对象。我有一个imageView和另一个textView。我如何将textView居中,以便文本位于屏幕中间?这是我到目前为止所做的。

View linearLayout = findViewById(R.id.rockLayout);
        ImageView mineralPicture = new ImageView(this);
        TextView mineralName = new TextView(this);
        TextView mineralProperties = new TextView(this);
        mineralProperties.setText("The properties are: " + Statics.rockTable.get(rockName).getDistinctProp());
        mineralProperties.setId(2);
        mineralName.setText("This mineral is: " + rockName);
        mineralName.setGravity(Gravity.CENTER);
        mineralName.setId(1);
        mineralName.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
        mineralProperties.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
        mineralPicture.setId(3);
        mineralPicture.setImageResource(R.drawable.rocks);
        mineralPicture.setAdjustViewBounds(true);
        mineralPicture.setMaxHeight(100);
        mineralPicture.setMaxWidth(200);
        mineralPicture.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));


        ((LinearLayout)linearLayout).addView(mineralName);
        ((LinearLayout)linearLayout).addView(mineralProperties);
        ((LinearLayout)linearLayout).addView(mineralPicture);

我应该提到我已经尝试过诸如mineralName.setGravtiy(Gravity.CENTER)这样的事情。它没有奏效。

1 个答案:

答案 0 :(得分:1)

a)让textview match_parent在宽度上并使用重心

b)在textview布局参数上将layout_gravity设置为居中(对于我通常在XML中执行此操作的条款,我们很抱歉)!