日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 布局学习之——Layout(布局)详解一

發布時間:2023/12/10 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 布局学习之——Layout(布局)详解一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

layout(布局)定義了用戶界面的可視化結構(visual structure),如Activity的UI,應用窗口的UI。

??? ? 有兩種方式聲明layout:

????? 1.在xml文件中聲明UI組件

????? 2.在運行時,實例化布局元素。我們可以以編碼的方式創建View或ViewGroup對象,操縱它們的屬性。

???? 下面用一個小例子來學習怎樣以編碼的方式添加layout:

????

1 import android.app.Activity; 2 import android.graphics.Color; 3 import android.os.Bundle; 4 import android.view.ViewGroup; 5 import android.widget.Button; 6 import android.widget.LinearLayout; 7 import android.widget.TextView; 8 9 public class MainActivity extends Activity { 10 11 private LinearLayout linearLayout; 12 private TextView textView; 13 private Button button; 14 public static final int VERTICAL = 1; 15 public static final int MATCH_PARENT = -1; 16 public static final int WRAP_CONTENT = -2; 17 @Override 18 protected void onCreate(Bundle savedInstanceState) { 19 super.onCreate(savedInstanceState); 20 21 //以編碼的方式添加layout 22 23 linearLayout = new LinearLayout(this); 24 linearLayout.setOrientation(VERTICAL); //設置LinearLayout方向,0是水平,1是垂直。默認是水平。 25 //設置布局參數,-1是MATCH_PARENT,-2是WRAP_CONTENT 26 //ViewGroup.LayoutParams(int width, int height) 27 linearLayout.setLayoutParams(new ViewGroup.LayoutParams(MATCH_PARENT,MATCH_PARENT)); 28 29 textView = new TextView(this); 30 textView.setText("ThisIsATextView"); 31 textView.setBackgroundColor(Color.RED); 32 textView.setLayoutParams(new ViewGroup.LayoutParams(MATCH_PARENT,WRAP_CONTENT)); 33 34 button = new Button(this); 35 button.setText("ThisIsAButton"); 36 button.setBackgroundColor(Color.GREEN); 37 button.setLayoutParams(new ViewGroup.LayoutParams(MATCH_PARENT,WRAP_CONTENT)); 38 39 linearLayout.addView(button); 40 linearLayout.addView(textView); 41 //布局寫好后,不要忘記添加到Activity中 42 setContentView(linearLayout); 43 44 45 } 46 }

?

??? 運行效果圖:

??????????????

?? ? 每個layout文件必須包含一個確定的根元素,這個根元素它必須是ViewViewGroup的對象。

???? 那View類和ViewGroup類的作用是什么呢?

View:

??????? 為用戶界面組件提供基本的搭建區域?。View類是widgets的父類,widgets通常用來創建交互UI組件

??????? 如button,TextView等等。View類同時也是ViewGroup類的父類。

ViewGroup:

??????? 是layout類的父類,而layout類是保存其他View或ViewGroup的可視化容器(invisible containers),并且能定義它們的布局屬性。

?

?

????? 通過添加額外的布局對象(layout object)或窗口(widgets)作為子元素來逐漸完善視圖層。?????

?

???? 下面通過一個layout文件來具體學習以下:

????

1 <!-- 確定的根元素 LinearLayout是ViewGroup的子類layout的對象 --> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:layout_width="match_parent" 5 android:layout_height="wrap_content" 6 android:orientation="vertical" > 7 <!-- 添加子組件來豐富視圖層 --> 8 <Button 9 android:layout_width="match_parent" 10 android:layout_height="wrap_content" 11 android:background="#f00" 12 android:layout_weight="1" 13 android:text="ThisIsAButton" /> 14 <TextView 15 android:layout_width="match_parent" 16 android:layout_height="wrap_content" 17 android:background="#0f0" 18 android:text="ThisIsATextView" 19 /> 20 </LinearLayout>

?? 我們在xml文件中聲明好界面的布局方式以后,將xml文件保存在res/layout/?下即可。

?

????? 希望這篇文章對大家的學習有所幫助,如果你喜歡,請推薦一下,謝謝~

????? 如果轉載,請在文章開頭處注明本博客地址:http:www.cnblogs.com/JohnTsai

????? 歡迎討論交流,郵箱:JohnTsai.Work@gmail.com :)


總結

以上是生活随笔為你收集整理的Android 布局学习之——Layout(布局)详解一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。