ページ

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年12月1日日曜日

Android Studioでスクリーンキャプチャーをとる方法

※ Android Studio(I/O Preview) 0.3.6を使用しています。

Android Studioでスクリーンキャプチャーをとる方法です。

まず、エミュレータを使うときに、Emulation Ontions の「Use Host GPU」がオンになっているとスクリーンキャプチャーはとれないので、外しておきます。これを外さないと画面が空のスクリーンキャプチャーになってしまいます。

AVD Managerから、使用するエミュレータのEditボタンを押して、設定画面を開きます。


Emulation OpinionsのSnapShotにチェックを付けなくても大丈夫です。


スクリーンキャプチャーを取りたいところで、Android StudioのメニューからView > Tool Windows > Androidを選択し、Android DDMSを開きます。



左上のカメラボタンを押すとスクリーンキャプチャーが取れます。




参考:http://stackoverflow.com/questions/6421108/screenshots-with-idea-intellij