PercentSupportLibrary使ってみた
ブログを作ってからずっと書いていませんでしたがこれからはちゃんと書いて行きます。
PercentSupportLibraryとは
よくCSSとかでwidth: 100%
的なことをする気がしますが、Androidのlayoutでもそれを可能にしたSupport Libraryです(てきとう。
Androidで割合を上のような割合でlayoutを表現する場合LinearLayoutのweight
を使うかと思いますが、今回はFrameLayoutとRelativeLayoutでそれがpercentつかえるようになったよ!的な内容です。他にも良い所があると思うのですが、よくわかってないので誰か指摘していただきたいです。
にわか程度に使ってみたので軽く紹介したいと思います。
開発環境はAndroidStudio(v1.3.2)
を使用しています。
使い方
build.gradle
に以下を追加してください。
dependencies { compile 'com.android.support:percent:23.0.0' }
Percent LayoutではPercentFrameLayout
とPercentRelativeLayout
があります。
今回はPercentRelativeLayout
だけ紹介したいと思います。
使い方は簡単で以下の様な感じです。
<?xml version="1.0" encoding="utf-8"?> <android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical"> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="Title"/> <ImageView android:id="@+id/image" android:layout_width="0dp" android:layout_height="0dp" android:layout_below="@id/text" android:layout_centerHorizontal="true" android:src="@mipmap/ic_launcher" app:layout_widthPercent="80%" app:layout_heightPercent="50%"/> <Button android:id="@+id/button" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_below="@id/image" android:layout_centerHorizontal="true" android:text="Submit" app:layout_widthPercent="70%"/> </android.support.percent.PercentRelativeLayout>
↑の例は例とは言えない気がしますが、割合を100%に抑えれば端末によってlayoutがksになるなんてことはなくなるという感じです。
実際に動かすとこんな感じになります。
まとめ
RelativeLayoutで割合が使えるとかなりlayoutのバリエーションが広がる気がするのでこれからがっつり使っていけたらと思います。
この間のインターンに言った時に初めて使ったんですがかなり良いです。
あ、インターンの記事は後で書きます。