1. 程式人生 > >android中的佈局模式以及android中的一些常用快捷鍵

android中的佈局模式以及android中的一些常用快捷鍵

佈局就是把介面中的控制元件按照某種規律擺放到指定的位置,主要是為了解決應用程式在不同手機中的顯示問題。Android實現佈局有兩種方式:(1)程式碼;(2)xml配置檔案,都是放在res/layout目錄下,注:也可以同時使用xml和程式碼。

1、線性佈局(LinearLayout):線性佈局會將其中的控制元件一個接一個排列,可以橫排也可以豎排。

  常用屬性:(1)設定排列方向:orientation="vertical"(垂直排列),orientation="horizontal"(水平排列);(2)設定元件的對齊方式:gravity=“center”(居中),gravity=“center|left”(居中並靠左)。

   android:gravity和android:layout_gravity的區別:前者是針對控制元件裡的元素來說的,用來控制元素在該控制元件裡的顯示位置;後者是針對控制元件本身而言,用來控制該控制元件所在父元素的位置。
   <!--<Button-->
   <!--android:layout_width="0dp"-->
   <!--android:layout_height="match_parent"-->
   <!--android:layout_weight="2"-->
   <!--android:text="按鈕1"/>-->
<!--<Button-->
    <!--android:layout_width="0dp"-->
    <!--android:layout_height="match_parent"-->
    <!--android:layout_weight="1"-->
    <!--android:text="按鈕2"/>-->
<!--<Button-->
    <!--android:layout_width="0dp"-->
    <!--android:layout_height="match_parent"-->
    <!--android:layout_weight="2"-->
    <!--android:text="按鈕3"/>-->

效果圖:這裡寫圖片描述 2、幀佈局(FrameLayout):類似於PS中圖層的概念,為每個加入其中的元件建立單獨的幀,看上去像是元件疊加到一起


    <!--<ImageView-->
    <!--android:layout_width="match_parent"-->
    <!--android:background="@drawable/a3"-->
    <!--android:layout_height="match_parent" />-->

    <!--<ImageView-->
    <!--android:layout_width="60dp"-->
<!--android:background="@drawable/a2"--> <!--android:layout_gravity="center"--> <!--android:layout_height="60dp" />-->

效果圖: 這裡寫圖片描述 3、 相對佈局(RelativeLayout):相對佈局視窗內子元件的位置總是相對兄弟元件、父容器來決定的,因此叫相對佈局;如果A元件位置是由B元件的位置決定的,Android要求先定B元件,再定義A元件;每個控制元件使用LayoutParams規定的引數來定義相對位置,LayoutParams的引數一類的值為true或false,另一類是其他控制元件的ID,其中引數為Boolean型的是相對於父元素的屬性,如android:layout_alignParentRight=”true”,引數為ID型的是相對於指定元素(根據ID指定)的屬性。

@+id和@id的區別:@+id/x1(新增新ID)、@id/x1(引用此ID)

 <Button
        android:layout_width="60dp"
        android:background="@color/red"
        android:layout_height="30dp" />

    <Button
        android:layout_width="60dp"
        android:background="@color/orange"
        android:layout_centerHorizontal="true"
        android:layout_height="30dp" />

    <Button
        android:layout_width="60dp"
        android:background="@color/yellow"
        android:layout_alignParentRight="true"
        android:layout_height="30dp" />

    <Button
        android:layout_width="60dp"
        android:layout_toLeftOf="@id/main_btn_blue"
        android:layout_margin="30dp"
        android:background="@color/green"
        android:layout_centerInParent="true"
        android:layout_height="30dp" />

    <Button
        android:layout_width="60dp"
        android:id="@+id/main_btn_blue"
        android:background="@color/blue"
        android:layout_centerInParent="true"
        android:layout_height="30dp" />

    <Button
        android:layout_width="60dp"
        android:layout_toRightOf="@id/main_btn_blue"
        android:layout_margin="30dp"
        android:background="@color/indianred"
        android:layout_centerInParent="true"
        android:layout_height="30dp" />

    <Button
        android:layout_width="match_parent"
        android:background="@color/violet"
        android:layout_alignParentBottom="true"
        android:layout_height="30dp" />

4、網格佈局(GridLayout):該佈局使用虛線將佈局劃分為行、列和單元格,也支援一個控制元件在行、列上都有交錯排列;於HTML中的table非常類似;4.0以上的版本可以直接使用,2.X的版本需要新增一個支援包。

GridLayout佈局相關屬性:rowCount(總行數)、columnCount(總列數)

GridLayout中子控制元件相關屬性:layout_gravity=”fill_horizontal”(水平填充)、layout_gravity=”fill_vertical”(垂直填充),主要用於跨行或跨列的時候。

Space標籤的作用:擋住控制元件,讓其不超出網格的範圍。

<!--<Button-->
      <!--android:layout_width="60dp"-->
      <!--android:background="@color/red"-->
      <!--android:text="1"-->
      <!--android:layout_height="60dp" />-->

    <!--<Button-->
        <!--android:layout_width="60dp"-->
        <!--android:layout_centerHorizontal="true"-->
        <!--android:background="@color/darkgrey"-->
        <!--android:text="2"-->
        <!--android:layout_height="60dp" />-->

    <!--<Button-->
        <!--android:layout_width="60dp"-->
        <!--android:id="@+id/main_btn_black"-->
      <!--android:layout_centerInParent="true"-->
        <!--android:background="@color/black"-->
        <!--android:text="3"-->
        <!--android:layout_height="60dp" />-->
    <!--<Button-->
        <!--android:layout_width="60dp"-->
        <!--android:layout_alignParentRight="true"-->
        <!--android:background="@color/blue"-->
        <!--android:text="4"-->
        <!--android:layout_rowSpan="2"-->
        <!--android:layout_gravity="fill_vertical"-->
        <!--android:layout_height="60dp" />-->

    <!--<Button-->
        <!--android:layout_width="60dp"-->
        <!--android:text="5"-->
        <!--android:layout_centerInParent="true"-->
        <!--android:layout_toLeftOf="@id/main_btn_black"-->
        <!--android:background="@color/mediumvioletred"-->
        <!--android:layout_columnSpan="2"-->
        <!--android:layout_gravity="fill_horizontal"-->
        <!--android:layout_height="60dp" />-->

    <!--<Button-->
        <!--android:layout_width="60dp"-->
        <!--android:text="6"-->
        <!--android:layout_centerInParent="true"-->
        <!--android:layout_toRightOf="@id/main_btn_black"-->
        <!--android:background="@color/indigo"-->
        <!--android:layout_height="60dp" />-->
<!--<android.support.v4.widget.Space />-->

一些常用的快捷鍵: Ctrl+N 查詢類 Ctrl+Shift+Space 自動補全程式碼 Ctrl+Alt+Space 程式碼提示 Ctrl+P 方法引數提示 程式碼標籤輸入完成後,按Tab,生成程式碼。 Ctrl+W 選中程式碼,連續按會有其他效果 選中文字,按Alt+F3 ,逐個往下查詢相同文字,並高亮顯示 Ctrl+Up/Down 游標跳轉到第一行或最後一行下 Ctrl+[或]可以跳到大括號的開頭結尾