LoginSignup
3
4

More than 5 years have passed since last update.

DrawerArrowDrawableのメモ

Posted at

DrawerArrowDrawable

よく使いそうなメソッド

  • setStrokeColor
    ラインの色の設定。
  • setParameter
    回転の度合いの設定。

DrawerLayoutとの連携

ハマったこと

widthとheightに数値を指定(今回は54dpx54dp)したImageViewにセットした時のこと。
2015-10-5_22-55-48_No-00_NoName.png
どうやらImageViewの大きさに合わせてDrawableが拡大してしまっている様子。
scaleTypeを指定すればOK。

layout.xml
<ImageView
    android:layout_width="54dp"
    android:layout_height="54dp"
    android:scaleType="centerInside"/>

結果
2015-10-5_23-5-19_No-00_NoName.png

もう一点。よく見るとラインの角が丸まっていない。
これはDrawerArrowDrawableのインスタンス生成時に下記のようにすればOK。

MainActivity.java
DrawerArrowDrawable arrow = new DrawerArrowDrawable(getResources(), true);

コンストラクタの第2引数はラインの角を丸めるかどうかのboolean値で、デフォルト(第2引数なし)ではfalseになっている。
結果
2015-10-5_23-11-51_No-00_NoName.png

まとめ

layout.xml
<ImageView
    android:id="@+id/imageView"
    android:layout_width="54dp"
    android:layout_height="54dp"
    android:scaleType="centerInside"/>
MainActivity.java
ImageView imageView = (ImageView) findViewById(R.id.imageView);
DrawerArrowDrawable arrow = new DrawerArrowDrawable(getResources(), true);
arrow.setStrokeColor(Color.BLACK);
imageView.setImageDrawable(arrow);
3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4