簡體   English   中英

Android元素布局:使用XML還是使用代碼?

[英]Android element layout: with XML or in code?

您如何輕松地以編程方式在Android中布置元素,這是否是替代Android中通常使用的XML /代碼拆分的實用替代方案?

來自iOS背景,您可以類似地將情節提要中的UI元素與正文文件中的代碼連接起來,我發現在代碼本身中創建所有元素可以提供更好的概述並減少編碼時間。 這兩個文件之間的切換也要少得多。

與蘋果公司在情節提要中相比,Android在布局中使用XML似乎更為重要,我想知道它是否是將元素創建強制納入活動本身的橋梁。

我得到的問題是在一定程度上涉及編碼風格(從而引起了主題外的討論),但並不是唯一的問題,因為它影響用戶體驗(甚至可能影響性能),這是相關的。

與以編程方式添加UI相比,使用布局文件可以更好地管理UI,這包括從各個角度對齊視圖以及設置參數和規則。 這會使Java文件更加繁瑣。 除非有必要,否則更好的方法是將兩者分開。

使用xml比使用Java更容易,並且控制起來更靈活: LinearLayoutButton示例

Button button = new Button(this);
button.setText("My Button");
button.setWidth(100);// in pixel not recommended
button.setHeight(100);
button.setBackgroundColor(Color.RED);
button.setX(100);
button.setY(100);
button.setTextSize(TypedValue.COMPLEX_UNIT_PX, 20);// to convert into sp
LinearLayout container = new LinearLayout(this);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
container.setLayoutParams(layoutParams);
container.addView(button);

可能需要15分鍾的編碼時間,使用xml只是拖放操作並使用xml Editor

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM