Android:如何以编程方式在LinearLayout中水平居中TextView

时间:2014-08-26 12:56:59

标签: android android-layout

我有一个textview视图,其宽度未覆盖所有父级的宽度。我使用了valueTV.setGravity(Gravity.CENTER_HORIZONTAL);

它将文本放在textview的中心。 现在我想把整个textview放在父母的中心(这显然涵盖了整个scrren)。如何以编程方式完成。我希望将textview与center放在一起。基本上我知道已经提出了很多问题,这些问题与此非常相似,但并不完全相同,因为它们没有解决我的问题。

2 个答案:

答案 0 :(得分:1)

// Make sure textview width match parent
// Use param: ViewGroup.LayoutParams.MATCH_PARENT

LinearLayout.LayoutParams layoutParams = 
  new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);

// Make sure text is center
layoutParams.gravity = Gravity.CENTER_HORIZONTAL;

linearLayout.addView(valueTV, layoutParams);

答案 1 :(得分:0)

嗯...试试这个

TextView tv = findViewById(R.id.yourTextView);
LinearLayout.LayoutParams layoutParams = 
(LinearLayout.LayoutParams)tv.getLayoutParams();
 layoutParams.gravity = Gravity.CENTER_HORIZONTAL;

tv.setLayoutParams(layoutParams);