[英]Rectangle Shape with Arrow using XML
How to implement this shape of Departments
header using shape
and xml
without 9-patch?如何使用形状实现Departments
header 的shape
和没有 9 补丁的xml
?
I mean rectangle with arrow on the left.我的意思是左边有箭头的矩形。
My code snippet:我的代码片段:
<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>
if you are looking for someting like this, try the following code.. 如果您正在寻找这样的东西,请尝试以下代码..
Make a xml arrow_shape in your drawable folder. 在drawable文件夹中创建一个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>
Make a xml rectangle_shape in your drawable folder. 在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>
In your main xml file 在您的主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>
A solution with a gradient:具有梯度的解决方案:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:width="2dp" android:height="2dp"
android:top="4dp" android:left="3dp">
<rotate android:fromDegrees="45"
android:pivotX="0"
android:pivotY="0">
<shape>
<solid android:color="#D83945"/>
</shape>
</rotate>
</item>
<item android:width="50dp" android:height="11dp" android:left="3dp">
<shape>
<gradient
android:startColor="#D83945"
android:endColor="#F9700C"
/>
<corners
android:radius="2dp"
/>
</shape>
</item>
</layer-list>
The final result is:最后的结果是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.