android(2)-----線性布局 LinearLayout 滾動視圖


一、屏幕顯示相關

像素

相關概念:

  像素px:    可顯示的最小單位

          英寸in

          毫米mm

          pt(磅,1/72英寸)

          dp:   與物理設備無關,只和屏幕尺寸有關

  sp: 用於設置字體大小

dp和px之間的聯系取決於具體設備上的像素密(DisplayMetrics里的density參數),  表示每個dp的像素個數,當density=1.5時,表示兩個dp值對應3個px值

顏色

組成:alpha +RGB

如八位編碼:FFEEDDCC  ,FF為透明度

如何使用:

  代碼中:1、setTextColor(0xff00ff00),Color對象含有系統自定義的顏色

                           2、 利用res/values/colors.xml    

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#6200EE</color>
    <color name="colorPrimaryDark">#3700B3</color>
    <color name="colorAccent">#03DAC5</color>
</resources>

      getResources().getColor(R.color.常量名)

          配置文件:android:textColor="#000000"。

屏幕分辨率

  DisplayMetrics對象,可以在代碼中獲取分辨率。

widthPixels:以px為單位計量的寬度值。
heightPixels:以px為單位計量的高度值。
density:像素密度,即一個dp單位包含多少個px單位。

二、基本視圖view

控件和布局都是由View類直接或間接派生而來的

視圖XML布局文件中常用的屬性定義說明:

  id

         layout_width:指定該視圖的寬度        layout_height:指定該視圖的高度     layout_margin:指定該視圖與周圍視圖之間的空白距離(包括上、下、左、右)

        minWidth:指定該視圖的最小寬度。
  minHeight:指定該視圖的最小高度。
  background:指定該視圖的背景。

         layout_gravity:指定該視圖與上級視圖的對齊方式。

         visibility:指定該視圖的可視類型。

三、布局與控件

Android中的視圖分為兩類,一類是布局,另一類是控件。

布局與控件的區別在於:

    布局本質上是個容器,里面還可以放其他視圖(包括子布局和子控件);控件是一個單一的實體,已經是最后一級,下面不能再掛其他視圖。

所有的布局視圖都派生自,ViewGroup 視圖。

    ViewGroup 有3個方法:(所有布局類視圖 共同擁有的)

      addView: 往布局中添加一個視圖

                           removeView:從布局中刪除指定視圖

                           removeALLViews: 刪除該布局下的所有視圖

四、線性布局 LinearLayout

LinearLayout內部視圖的排列是有順序的,水平或垂直。

繼承了 View/ViewGroup類的所有屬性和方法。

XML屬性:

  orientation:指定線性布局的方向(horizontal、vertical)

  gravity: 指定布局內部視圖與本線性布局的對齊方式。

     layout_weight:指定當前視圖的寬或高占上級線性布局的權重。

五、滾動視圖

垂直滾動的視圖名: ScrollView

水平滾動的視圖名: HorizontalScrollView

(1)垂直方向滾動時,layout_width要設置為match_parent,layout_height要設置為wrap_content。
(2)水平方向滾動時,layout_width要設置為wrap_content,layout_height要設置為match_parent。
(3)滾動視圖節點下面必須且只能掛着一個子布局節點,否則會在運行時報錯Caused by:java.lang.IllegalStateException:ScrollView can host only one direct child。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM