我在这里请求一些宽容,我只是从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);
}
}
Run Code Online (Sandbox Code Playgroud)
我已经设法找到了这个setGravity
方法,并且我已经尝试setLayoutParams
了解它,但是我不确定它的范围是什么,因为我无法找到我应该导入的内容以获得WRAP_CONTENT
常量来解决.根据我的理解,居中和content_wrapping + gravity是两个不同的东西.我想要一个如何在这种情况下做两件事的例子,也许我会在API文档中找到答案的方式/位置?
Syn*_*ete 234
yourTextView.setGravity(Gravity.CENTER);
Run Code Online (Sandbox Code Playgroud)
Nir*_*ara 25
用于动态中心
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
Run Code Online (Sandbox Code Playgroud)
这肯定可以工作..
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);
Run Code Online (Sandbox Code Playgroud)
TextView text = new TextView(this);
text.setGravity(Gravity.CENTER);
Run Code Online (Sandbox Code Playgroud)
和
text.setGravity(Gravity.TOP);
Run Code Online (Sandbox Code Playgroud)
和
text.setGravity(Gravity.BOTTOM);
Run Code Online (Sandbox Code Playgroud)
和
text.setGravity(Gravity.LEFT);
Run Code Online (Sandbox Code Playgroud)
和
text.setGravity(Gravity.RIGHT);
Run Code Online (Sandbox Code Playgroud)
和
text.setGravity(Gravity.CENTER_VERTICAL);
Run Code Online (Sandbox Code Playgroud)
和
text.setGravity(Gravity.CENTER_HORIZONTAL);
Run Code Online (Sandbox Code Playgroud)
还有更多可用
归档时间: |
|
查看次数: |
99652 次 |
最近记录: |