2016-07-01 25 views
3

Departmentsヘッダーのこの形状を実装するには、shapexmlを9パッチなしで使用しますか?XMLを使用した矢印付きの長方形形状

私は、左に矢印のある四角形を意味します。

enter image description here

マイコードスニペット:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:bottom="1px" 
     android:left="@dimen/edittext_border" 
     android:right="@dimen/edittext_border" 
     android:top="@dimen/edittext_border"> 
     <shape android:shape="rectangle"> 
      <stroke 
       android:width="@dimen/edittext_border_width" 
       android:color="@color/menu_divider" /> 

      <solid android:color="@color/background" /> 
      <corners android:radius="4dp" /> 


     </shape> 
    </item> 
</layer-list> 
+2

それは不可能です..!代わりにベクトルを使うことができます.. !! –

+0

@jankigadhiya私はアンドロイドの初心者で、私はそれができることがわかった。 http://stackoverflow.com/questions/26143905/android-make-an-arrow-shape-with-xml 私の小さな経験のため、私は私のニーズにこの答えをリファクタリングすることはできません – VLeonovs

+0

それは同じではありませんあなたが望む..!私の理解によれば、 'layer-list'はあなたが望む形を作ることができません.. !! –

答えて

6

あなたはこのようないろいろ書いを探している場合は、次のコードを試してみてください。..

Final Output

  1. XMLを作成しますあなたのドロウアブルフォルダのarrow_shape。

    <?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
    <rotate android:fromDegrees="45" android:toDegrees="45" 
        android:pivotX="-40%" android:pivotY="87%" > 
        <shape android:shape="rectangle" > 
         <stroke android:color="#c6802a" android:width="10dp"/> 
         <solid android:color="#c6802a" /> 
        </shape> 
    </rotate> 
    </item> 
    </layer-list> 
    
  2. drawableフォルダにxml rectangle_shapeを作成します。

    <?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
    <shape android:shape="rectangle"> 
        <solid android:color="#B2E3FA" /> 
    </shape> 
    </item> 
    
  3. あなたのメインのXMLファイルに

    <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" 
    android:gravity="center" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.example.stpl.myapplication.MainActivity"> 
    
    <RelativeLayout 
        android:id="@+id/arrow" 
        android:layout_width="30dp" 
        android:layout_height="30dp" 
        android:background="@drawable/arrow_shape" 
        android:rotation="270" /> 
    
        <RelativeLayout 
        android:id="@+id/rectangle" 
        android:layout_width="150dp" 
        android:layout_height="50dp" 
        android:background="@drawable/rectangle_shape" 
        xmlns:android="http://schemas.android.com/apk/res/android" 
        xmlns:android="http://schemas.android.com/tools" /> 
    
    </LinearLayout> 
    
+0

@VLeonovs photoのように四角形の角の半径を追加する –

関連する問題