Androidプログラミングブログ

Androidプログラミングを勉強していく中でわかったことをメモする

【Androidプログラミング入門 #011】Viewを均等配置する

はじめに

画面横幅に対して、複数のViewを均等に配置したい。

3つのボタンを均等に配置してみます。

1. プロジェクト作成

f:id:fjswkun:20151027013640p:plain

f:id:fjswkun:20151027013649p:plain

f:id:fjswkun:20151027013658p:plain

f:id:fjswkun:20151027013709p:plain

2 画面レイアウトの作成

content_main.xmlを開き、下記編集します。

下記変更する
  • RelativeLayoutからLinearLayoutに変更
  • marginの削除
  • プロジェクト作成時に自動的に追加されるTextViewの削除

下記のとおりになります。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:showIn="@layout/activity_main" tools:context=".MainActivity">

</LinearLayout>
ボタンを3つ作成

ボタンを作成します。

ポイントは下記2つ。 1. layout_widthを0dpにする 2. layout_weightを1にする

layout_weightで余白の配分を決められます。
ボタンが3つあり、それぞれlayout_weightに1が設定されているので、
それぞれのボタンに余白が1/3づつ配分されます。

ただ、それぞれのボタンのlayout_widthがばらばらだと、
余白を均等に配分してもサイズがばらばらになってしまうので、
layout_widthを0dpにしています。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:showIn="@layout/activity_main" tools:context=".MainActivity">

    <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:text="ボタン1"
        android:background="@color/colorPrimary"
        android:layout_weight="1"
        />
    <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:text="ボタン2"
        android:background="@color/colorPrimaryDark"
        android:layout_weight="1"
        />
    <Button
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:text="ボタン3"
        android:background="@color/colorAccent"
        android:layout_weight="1"
        />
</LinearLayout>

3. 実行

実行します。

f:id:fjswkun:20151027014802p:plain

参考情報

参考

Androidアプリ開発逆引きレシピ (PROGRAMMER’S RECiPE)

Androidアプリ開発逆引きレシピ (PROGRAMMER’S RECiPE)

開発用デバイス

Androidの勉強をはじめた人は知っているようにエミュレーターはちょー遅い。
開発用に安いAndroidを買えば、勉強がはかどります!
iPhoneと比較すると安いので買ったほうがいいと思います。

おすすめデバイス

勉強用に使うだけなので価格が高い最新デバイスは必要ないと思います。
最新のデバイスは一人前のAndroidプログラマーになったら購入を検討しましょう。

nexus5 16GBASUS Nexus7 ( 2013 ) TABLET

その他に探すなら↓から。
Android nexus5を勉強用に購入