是否可以使用Java代码写入main.xml文件?
我想对布局做一些更改,但它是否基于从java接收到的值?
最佳答案
是的,你可以。阅读有关layout.layoutparams的更多信息
http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html
使用addRule()
并指定布局对象所需的内容。
更改值,然后再进行setContentView();
类似于:
RelativeLayout rl = new RelativeLayout(this);
RelativeLayout.LayoutParams rlp= new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT);
rlp.addRule(RelativeLayout.VISIBLE); //set the rules and parameters before you do setLayoutParams();
rl.setLayoutParams(rlp);
setContentView(rl);
或者,如果您想对XML的实际布局进行更改,那么您可以执行以下操作
LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.main, null);
RelativeLayout rl = (RelativeLayout)v.findViewById(R.id.relativeLayout1);
RelativeLayout.LayoutParams rlp= new RelativeLayout.LayoutParams(new LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT));
rlp.addRule(RelativeLayout.VISIBLE);
rl.setLayoutParams(new LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT));
setContentView(rl);
关于android - Android和XML布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7237502/