所谓用代码创建视图,是指不是通过XML来构造Activity的视图或者ListView的中的每隔ItemView(如下所示),

publicclass HelloWorld extends Activity {
private TextView mTextView;
@Override
publicvoid onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  mTextView
= (TextView)findViewById(R.id.textView);
}
}

 

而是直接用代码来创建控件以及整个视图(如下说是),

publicclass HelloWorld extends Activity {
private TextView mTextView;

@Override
publicvoid onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  LinearLayout layout
=new LinearLayout(this);
  layout.setOrientation(LinearLayout.VERTICAL);
  layout.setLayoutParams(
new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
  mTextView
=new TextView(this);
  mTextView.setText(
"Hello World");
  layout.addView(mTextView);
  setContentView(layout);
}
}

其好处:

1.效率高。

因为findViewById这个函数的效率是很低的.

2.还能减小应用程序开发包(APK文件)的大小。

3.混淆后,还不容易被人破解布局。

 

后记:

1.当项目的工程比较大时,或者说界面比较多时,就会发现有很多重复的代码,所以,项目开始的时候,就应该考虑

大到Activity 小到一个View的创建都需要考虑重用或者把抽象的部分抽出来封装下。

2.如果是UI变化的可能性很大或者位置经常调整的或者是项目开始的时候,需要考虑先用XML来写,等待稳定或者项目后掐,由于性能需要再考虑用代码

来写布局。

相关文章:

  • 2021-09-25
  • 2022-12-23
  • 2022-12-23
  • 2021-07-03
  • 2022-02-20
猜你喜欢
  • 2021-10-23
  • 2021-08-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-25
  • 2022-12-23
相关资源
相似解决方案