亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

布局Layouts之LinearLayout線性布局

發布時間:2020-05-24 19:08:36 來源:網絡 閱讀:589 作者:沒有水勒魚 欄目:移動開發

從Hello world!開始,我們一直都是在一種布局下學習的,當然,對于基礎內容的學習,還是沒有任何問題的!但——

  在Android開發中UI設計也是十分重要的,當用戶使用一個App時,最先感受到的不是這款軟件的功能是否強大,而是界面設計是否賞心悅目,用戶體驗是否良好。也可以這樣說,有一個好的界面設計去吸引用戶的使用,才能讓更多的用戶體驗到軟件功能的強大。

  那么,Android中幾種常用布局則顯得至關重要。各個布局既可以單獨使用,也可以嵌套使用,我們應該在實際應用中應靈活變通。

第2章、LinearLayout線性布局

  LinearLayout是一種線型的布局方式。LinearLayout布局容器內的組件一個挨著一個地排列起來:不僅可以控制個組件橫向排列,也可控制各組件縱向排列。通過orientation屬性設置線性排列的方向是垂直(vertical)還是縱向(horizontal)。 


我們下面通過XML布局和Java代碼布局兩種方式分別舉例:

一、XML方式布局

  1、創建一個空白Activity

布局Layouts之LinearLayout線性布局



2、打開“res/layout/activity_main.xml”文件,修改成以下代碼。

布局Layouts之LinearLayout線性布局



(1)第①部分

  <?xml version="1.0" encoding="utf-8">,每個XML文檔都由XML序言開始,在前面的代碼中的第一行便是XML序言,<?xml version="1.0">。這行代碼表示按照1.0版本的XML規則進行解析。encoding = "utf-8"表示此xml文件采用utf-8的編碼格式。編碼格式也可以是GB2312。

  如果你對此不太明白,請參閱相關XML文檔。

  (2)第②部分

  <LinearLayout…… 表示采用線型布局管理器。

  (3)第③部分

  android:layout_width="match_parent"    android:layout_height="match_parent"表示布局管理器寬度和高充將填充整個屏幕寬度和高度。

  (4)第④部分

  android:orientation="vertical"表示布局管理器內組件采用垂直方向排列。

  如果要采用水平方向請使用:horizontal。

  3、插入三個按鈕。

布局Layouts之LinearLayout線性布局



4、打開“res/layout/activity_main.xml”文件,修改成以下代碼。

布局Layouts之LinearLayout線性布局



將3個按鈕的android:layout_width的屬性設為:"match_parent"。

  該屬性可以有三個值:wrap_content、match_parent、fill_parent。

  wrap_content表示寬度匹配內容,簡單地說就是文字有多長按鈕就多長。

  match_parent表示寬度匹配父內容,按鈕外的容器有多寬就顯示多寬。

  fill_parent與match_parent相同,android2.2以后就不推薦使用了。

  最終顯示效果如下:

布局Layouts之LinearLayout線性布局



二、Java代碼方式布局

  上面我們已經了解采用XML進行LinearLayout布局,我們現在再來學習一下如何使用Java代碼完成與之同樣功能。

  1、打開“src/com.genwoxue.LinearLayout/MainActivity.java”文件。

  然后輸入以下代碼:

布局Layouts之LinearLayout線性布局



在以上代碼中,我們著重分析一下帶有淺藍色背景部分。

  (1)第①部分

  導入與LinearLayout、LayoutParams、Button相關的包。

  (2)第②部分

  創建線性布局管理器,并且設置布局管理寬度和高度與方向。

  LinearLayout llLayout=new LinearLayout(this):創建線性布局管理器;

  LayoutParams lpPara=new LayoutParams( LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT):創建布局參數,構造函數設置寬度與高度。用于設置線性布局管理器寬度與高度。

  llLayout.setOrientation(LinearLayout.VERTICAL):設置布局管理器為垂直方向。

  (3)第③部分

  LayoutParams btnPara=new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT):創建布局參數,構造函數設置寬度與高度。用于設置三個按鈕寬度與高度。

  (4)第④部分

  創建3個按鈕:btnFourth、btnFifth、btnSixth,設置其文本與布局參數。

  (5)第⑤部分

  為線性布局管理器添加3個按鈕。

  (6)第⑥部分

  super.addContentView(llLayout, lpPara):為當前activity添加布局管理器以及布局管理器的參數對象。

  2、顯示效果

布局Layouts之LinearLayout線性布局


MainActivity.java源碼:

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;//別導錯了


public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
LinearLayout llLayout = new LinearLayout(this);
LayoutParams lpPara = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
llLayout.setOrientation(LinearLayout.VERTICAL);
LayoutParams btnPara = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
Button btnFourth = new Button(this);
btnFourth.setLayoutParams(btnPara);
btnFourth.setText("第四個按鈕");

Button btnFifth = new Button(this);
btnFourth.setLayoutParams(btnPara);
btnFourth.setText("第五個按鈕");

Button btnSixth = new Button(this);
btnFourth.setLayoutParams(btnPara);
btnFourth.setText("第六個按鈕");

llLayout.addView(btnFourth);
llLayout.addView(btnFifth);
llLayout.addView(btnSixth);
super.addContentView(llLayout, lpPara);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岳普湖县| 永兴县| 高州市| 日土县| 大方县| 兴安县| 永兴县| 务川| 旌德县| 长武县| 莆田市| 博乐市| 英山县| 宜兰县| 准格尔旗| 武鸣县| 乌鲁木齐县| 德庆县| 盐津县| 喀喇| 岚皋县| 壶关县| 屯留县| 宁河县| 尖扎县| 丰台区| 柳州市| 越西县| 年辖:市辖区| 淅川县| 邵阳市| 盘锦市| 山阴县| 都匀市| 上林县| 武乡县| 丽江市| 德庆县| 南和县| 武城县| 两当县|