''[[MobileApp>Mobile Application Guide]]'' > ''[[Android>Introduction to Android]]'' > ''Layout''


~
''[[戻る>Android]]''

~
*レイアウト [#sb77194a]

**ViewとViewGrpup [#y454ce88]
  Viewの集まりをViewGroupという~
  ViewGroupは複数のViewを含む~
  ViewGroupの中にViewGroupを含むこともできる
*Layout's Overview [#sb77194a]

**単位 [#ya5409d4]
   The UI of application can be set by the combination of View and ViewGroup. 

  利用可能な単位~
  px (ピクセル)~
  dp (密度非依存ピクセル)~
  sp (倍率非依存ピクセル)~
  in (インチ)~
  mm (ミリメータ)
~

~
**View and ViewGroup [#y454ce88]
   ・The set of Veiw is ViewGroup. ~
   ・ViewGroup contains two or more View. ~
   ・ViewGroup can be contained in ViewGroup. ~
   ・The layout inherit ViewGroup. ~
   ※Refer to the following succession charts for the practical visualization. 

**レイアウトの種類 [#k84d3564]
-absolute layout 絶対座標指定
-relative layout  相対座標指定
-Linear  layout  縦/横指定
-Table  layout  表形式の配置
~
**ViewGroup surrounding Class    [#b370a8dc]
    "ViewGroup" and its succession relations are described as follows.

  &ref(ViewGroup.gif,nolink);

**Ansolute layout [#ye06868a]
  工事中
~
*Kind of layout [#k84d3564]
~
    Typical View-Groups (layouts) are described as follows. 

**Relative layout [#t95a1616]
**Linear layout [#j52dd8c3]
  縦に並べたり~
  横に並べたり
#style(class=table_left){{
|Ⅰ| Absolute layout | The layout placement which specifies the absolute coordinate. |
|Ⅱ| Relative layout | The layout placement which specifies the relative coordinate. |
|Ⅲ| Linear  layout | Horizontal direction and the vertical direction can be specified.  |
|Ⅳ| Table   layout | The table form can be arranged.  |
|Ⅴ| Frame   layout | Overlapping the VIEW is possible.  |
|| the others ||

**Table layout [#w8af4a08]
  表形式に並べるレイアウト
~
**Ⅰ.Absolute layout [#ye06868a]
    ・Layout specified by using [absolute coordinate]~
    ・It became non-recommendation from SDK1.5. (Because this layout cannot support multiple devices for different screen sizes.)

  &ref(tablelayout2.png);&ref(tablelayout.png);~
     Outline              画面~
~

   &ref(absolute.gif,nolink);  &ref(absolute2.gif,nolink);~


 [[次世代創造機構>http://www.xn--rhq6sw9f0w7aevaf9ak89m.jp/android/androidLecture/GuiTutorial/GuiTutorial.html]]
~
***XML attribute which absolute coordinate is specified in [#kd3b4e95]
   layout_x ~
   layout_y ~

 ボタンのレイアウト~
 http://www.javadrive.jp/android/xml_layout/index7.html
~
***XML attribute which width and height of parts are specified in[#rbcc265f]
   layout_width~
   layout_height~
   fill_parent is MAX size. wrap_content is minimum size.

 画面の作り方~
 http://www.techfirm.co.jp/lab/android/view.html
~

~
**Ⅱ.Relative layout [#t95a1616]

 Android Developer~
 http://www.techdoctranslator.com/android/guide/ui/declaring-layout
 
*Viewのプロパティ [#tcf6cd7d]
    Layout  which specify the relative position of widget. Can be specified  placed in the top or bottom.~

 [[参考 - Android Wiki>http://wikiwiki.jp/android/?UI%A5%B3%A5%F3%A5%DD%A1%BC%A5%CD%A5%F3%A5%C8%2FView]]
~
   &ref(relative.gif,nolink);&ref(relative2.gif,nolink);~

 ・nextFoxusDown - フォーカスが下方向に遷移した時の遷移先Viewを定義~
 ・padding - 上下左右のパディングを設定~
 ・scrollbarAlwaysDrawVerticalTrack - スクロールバーを表示するかどうか

**ViewGroupのプロパティ [#tcf6cd7d]
   「基準の位置を変更すれば、それに伴いほかのウィジェットも自動的に位置が調整できる」「斜めや円形にも配置が可能」というメリットがある一方、~
   「気軽にウィジェットを追加・削除できない」、「どのようにリレーションさせているか分からなくなってしまう」という点がデメリット。

 [[参考 - Android Wiki>http://wikiwiki.jp/android/?UI%A5%B3%A5%F3%A5%DD%A1%BC%A5%CD%A5%F3%A5%C8%2FViewGroup]]
~

~

** absolute layout [#ve727fc3]
***絶対座標の指定 [#kd3b4e95]
  layout_x ~
  layout_y ~
**Ⅲ.Linear layout [#j52dd8c3]

    Liner Layout is the layout which arrange widgets at straight vertical or horizontal.

***部品の幅・高さ指定 [#rbcc265f]
  layout_width~
  layout_height~
  fill_parentは最大サイズ。wrap_contentは最小サイズ
   &ref(liner.gif,nolink);       &ref(liner2.gif,nolink);~

  

** Relative レイアウト [#xe4c85bc]
~

~

**Ⅳ.Table layout [#w8af4a08]
   This layout can arranged widget in a tabular.

   &ref(tablelayout2.png,nolink);    &ref(tablelayout.png,nolink);~
       Outline                    Screen~
~

*縦向きレイアウトと横向きレイアウト [#z4bb8c77]
~

 横向き画面には、"Layout-land"用フォルダを用意する。
~

#ref(layout-land.jpg);
~
**Ⅴ.Frame layout [#p1539b7e]

    Frame layout is easy to use when stacking the View.~
    For example, when overlaying images is available.

~

   &ref(FrameLayout01.gif,nolink);    &ref(FrameLayout02.gif,nolink);~
         Outline                    Screen~
~

''[[戻る>Android]]''
~
~
*Practical use [#x63c4c9f]

**Half-and-half [#ycf583ce]
   &ref(hanbun.png);
~
   If you want to set half-and-half to buttons layout ,~
   Use "LinearLayout",and assign 0 to "layout_width",and assign 1 to "weight".
~
~

  Example of layout.xml
    <LinearLayout 
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
 
        <Button
            android:layout_width="0dip"
            android:layout_weight="1"
            android:text="before" 
            android:id="@+id/Button01"
            android:layout_height="wrap_content" >
        </Button>
 
        <Button 
            android:layout_width="0dip"
            android:layout_weight="1"
            android:text="next" 
            android:id="@+id/Button02" 
            android:layout_height="wrap_content" 
            android:layout_alignParentRight="true">
        </Button>
    </LinearLayout>


~
~
~
~

*Property of View [#tcf6cd7d]

   [[参考 - Android Wiki>http://wikiwiki.jp/android/?UI%A5%B3%A5%F3%A5%DD%A1%BC%A5%CD%A5%F3%A5%C8%2FView]]

   ・nextFoxusDown - フォーカスが下方向に遷移した時の遷移先Viewを定義~
   ・padding - 上下左右のパディングを設定~
   ・scrollbarAlwaysDrawVerticalTrack - スクロールバーを表示するかどうか

~
**Property of ViewGroup [#tcf6cd7d]

   [[参考 - Android Wiki>http://wikiwiki.jp/android/?UI%A5%B3%A5%F3%A5%DD%A1%BC%A5%CD%A5%F3%A5%C8%2FViewGroup]]

~

~

~  

~
**Units of represent  [#ya5409d4]

   Unit that can be used by layout~
#style(class=table_left){{
|px| pixels |
|dp| Density Independent Pixels |
|sp| Scale Independent Pixels |
|mm| millimeter |
|pt| Point |
|in| Inch |

~

~

~


~




*Portrait and landscape layout [#z4bb8c77]

   The Horizontal screen, Use "Layout-land" Folder.

#ref(layout-land.jpg,nolink);


~
//*その他 [#t9aed44b]
//リソースマネージャで各解像度毎のレイアウトを切り替えが出来 るよう
~
  ''[[Back>Introduction to Android]]''


Front page   New List of pages Search Recent changes   Help   RSS of recent changes