Android中代碼建立視圖的好處

來源:互聯網
上載者:User
文章目錄
  • 後記:

所謂用代碼建立視圖,是指不是通過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來寫,等待穩定或者項目後掐,由於效能需要再考慮用代碼

來寫布局。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.