以编程方式中心TextView文本
我在这里乞求一些宽容,我刚刚开始使用Android SDK教程,我正在尝试一些兴趣,这不是在教程本身,但我希望会很容易。
我想通过横向和纵向的代码中心一个TextView项目(我可以在XML中做到这一点)。 我已经看到了几个如何做父母是一个表或其他对象的例子,但我希望这可以更容易地掌握。  (ps请随意纠正我的术语)。 
以下是教程/我的工作模型中的示例代码:
 package com.example.myfirstapp; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.ViewGroup.LayoutParams; import android.widget.TextView; public class DisplayMessageActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); TextView textView = new TextView(this); textView.setTextSize(40); textView.setText(message); textView.setGravity(View.TEXT_ALIGNMENT_GRAVITY); setContentView(textView); } } 
 我设法findsetGravity方法,我试图涉足它的setLayoutParams ,但我不知道什么范围是因为我找不到我应该导入来获得WRAP_CONTENT不断地解决。 从我的理解来看,centering和content_wrapping + gravity是两个不同的东西。 我想要一个在这种情况下如何做的例子,也许我会在API文档中find答案。 
 yourTextView.setGravity(Gravity.CENTER); 
对于dynamic中心
 textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL); 
这将工作肯定..
 RelativeLayout layout = new RelativeLayout(R.layout.your_layour); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.CENTER_IN_PARENT); params.addRule(LinearLayout.CENTER_IN_PARENT); textView.setLayoutParams(params); textView.setGravity(Gravity.CENTER); layout.addView(textView); setcontentView(layout); 
 TextView text = new TextView(this); text.setGravity(Gravity.CENTER); 
和
 text.setGravity(Gravity.TOP); 
和
 text.setGravity(Gravity.BOTTOM); 
和
 text.setGravity(Gravity.LEFT); 
和
 text.setGravity(Gravity.RIGHT); 
和
 text.setGravity(Gravity.CENTER_VERTICAL); 
和
 text.setGravity(Gravity.CENTER_HORIZONTAL); 
并且更多也是可利用的
尝试添加以下代码以将布局参数应用于TextView
 LayoutParams lp = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); lp.addRule(LinearLayout.CENTER_IN_PARENT); textView.setLayoutParams(lp); 
如果您的文字大小很小,您应该使文本视图的宽度为“fill_parent”。 之后,您可以将TextView重力设置为居中:
 TextView textView = new TextView(this); textView.setText(message); textView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); textView.setGravity(Gravity.CENTER);