2017-05-13 6 views
1

私はAndroidのレイアウトのための円弧形状を作成するのに助けが必要です。私はこれのためのコードが必要ない。シェイプを使用することが可能なら、それは素晴らしいでしょう。アークDrawable for Androidのレイアウト

使用例:

<LinearLayout android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/arc"> 
</LinearLayout> 

レイアウトは次のように好きなら: layout arc drawable

答えて

2

それはあなたの円弧の形状のための要件が​​何であるかを完全には明らかではないのですが、あなたはVectorDrawableを使用して、上記実現できます。 (RES /描画可能で/)

arc.xml

<?xml version="1.0" encoding="utf-8"?> 
<vector xmlns:android="http://schemas.android.com/apk/res/android" 
     android:width="223dp" 
     android:height="237dp" 
     android:viewportWidth="223" 
     android:viewportHeight="237"> 

    <path 
     android:fillColor="#757491" 
     android:strokeWidth="1" 
     android:pathData="M44,3 L0,228 C0,228 68,239 114,236 C151,236 223,221 223,221 L197,0 
C197,5.68434189e-14 158,11.7434499 120,11 C82,10.2565501 44,3 44,3 Z" /> 
</vector> 

その後、あなたは上記の持っているように:

<LinearLayout android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/arc"> 
</LinearLayout> 

VectorDrawables(APIを21+)を使用する場合、プラットフォームの制限があることに注意したり、以前のAPIレベルをサポートする必要がある場合は、機能をバックポートするサポートライブラリを使用することができます。

私はどのように上記のコードを作成しましたか?私はベクトルパッケージ(スケッチ/イラストレーター/等)の形状をトレースし、それをsvgファイルとしてエクスポートしました。私はhttps://inloop.github.io/svg2android/という非常に便利なツールを使ってVectorDrawableコードに変換しました。

あなたはよりダイナミックな何かが必要ならば、私は個人的にちょうどJavaでカスタムDrawableを作成し、CanvasPathを使用して描画していますが、あなたがこれを行うにはしたくない示すことになります。