ページ

ラベル UI の投稿を表示しています。 すべての投稿を表示
ラベル UI の投稿を表示しています。 すべての投稿を表示

2013年12月11日水曜日

AndroidのUIの勉強 その3(LinerLayout) layout_weightとweightSum



LinerLayoutでは、子要素を任意の大きさ(比率)で、配置することができます。
使用するのは、layout_weightとweightSumです。

まず、注意することは、横に並べる場合、子要素のlayout_widthを0dpに設定する必要があります。
縦に並べる場合は、子要素のlayout_heightを0dpにします。
これを設定しなければ、想定した大きさになってくれません。


layout_weightは、子要素に設定し、その子要素がどの程度の大きさを占めるかを設定します。

weightSumは、LinerLayoutに設定し、layout_weightが指定された場合の全体の大きさを設定します。

例えば、weightSumが100で、子要素のlayout_weightが40の場合、縦または横の60%が空白になります。
weightSumが設定されない場合、子要素のlayout_weightの合計がweightSumとなるように大きさが決められます。

また、layout_weight、weightSumで配分される大きさからは、固定サイズの子要素の大きさは除かれます。
つまり、wrap_contentが設定された子要素があった場合、そのサイズを除いたサイズが、全体のサイズになります。


サンプル



サンプル1は、LinearLayoutにweightSumの設定がなく、layout_weight="1"のボタンとlayout_width="wrap_content"のボタンがあります。

weightSumがないので、layout_width="wrap_content"以外の領域がlayout_weight="1"になります。


サンプル2は、android:weightSum="4"で、android:layout_weight="1"とandroid:layout_weight="2"のボタンがあります。ボタンの大きさは、1:2で、25%のスペースが空いています。

使った、xmlは以下のとおりです。


2013年12月8日日曜日

AndroidのUIの勉強 その2(LinerLayout) gravityとlayout_gravity


まずは、LinerLayoutについてです。

位置決め

gravityを設定することでLayoutやViewの位置を決めることができます。
gravityには2種類あります。


要素意味
android:gravity子要素の位置
android:layout_gravity自分の位置




親にandroid:gravityで位置を決められても、自分のandroid:layout_gravityの設定が優先されます。
Layoutにandroid:layout_gravityを設定すると、そのLayoutの子要素すべてに影響が及びます。


下のような構成でやってみました。
・一番外側のLinerLayoutに、android:gravity:rightを設定。
  ⇒これで、すべての子要素は右寄りになります。
  ・子要素のLinearLayoutに、android:layout_gravity:leftを設定
    ⇒これで、この要素は、左寄りに配置されます。
        この子要素にも影響が及ぶので、子要素は、左寄りになります。
    ・子要素のTextViewには何も設定しない。
      ⇒何も設定していないので、親の設定に従い、左寄りになります。
    ・子要素のTextViewにはandroid:layout_gravity:rightを設定
      ⇒自分の位置を設定しているので、右寄りになります。
  ・子要素のTextViewには何も設定しない。
    ⇒何も設定していないので、親の設定に従い、右寄りになります。
  ・子要素のTextViewにはandroid:layout_gravity:leftを設定
    ⇒自分の位置を設定しているので、左寄りになります。


作成したxmlは以下のとおりです。


画面上は、以下のようになります。


2013年11月30日土曜日

AndroidのUIの勉強 その1(レイアウトの種類)

AndroidのUIについて、調べました。

AndroidのUIは、ViewとViewGroupから構成されています。
Viewは、画面上に配置される単一のオブジェクト

要素意味
View画面上に描画される単一のオブジェクト。
TextViewやButtonなど。
ViewGroup他のViewやViewGroupなどの子要素をひとまとめにしたもの。
LinearLayoutやRelativeLayoutなどのレイアウト


実際にUIを作成するには、ActivityやFragmentにベースとなるレイアウトをおいて、
その中にレイアウトやビューなどの子要素を配置していきます。

レイアウト

よく使うレイアウトは、LinearLayoutとRelativeLayoutです。

種類説明
LinearLayout子要素を縦または横一列に配置するレイアウト。

縦に並べるときには、android:orientationにverticalを設定。
横に並べるときには、android:orientationにhorizontalを設定。
デフォルトは、horizontal。
RelativeLayout相対的に子要素を配置するレイアウト。

要素のサイズ

要素のサイズは、android:layout_heightとandroid:layout_widthで指定します。
設定値は下記の通りです。

設定値意味
wrap_content幅を自動調整
match_parent(fill_parent)画面いっぱいに表示
数値(単位:dp,sp,psなど)指定サイズで表示