用shape做搜尋樣式【原創】
最近專案中碰到這樣一個搜尋框的樣式,如下圖:
以往用shape做這種圓弧時四個角的弧度都是一樣的,但是想實現上圖所示效果,恐怕難以實現。實際上上圖所示效果是用兩個shape拼起來的,但是隻要邊距大小吻合就能是兩個shpe合二為一實現下面的效果,下面是上面效果具體實現的程式碼。
xml程式碼:
<LinearLayout android:layout_width="wrap_content" android:layout_height="30dp" android:layout_gravity="center_horizontal" android:orientation="horizontal"> <EditText android:id="@+id/et_search" android:layout_width="160dp" android:layout_height="30dp" android:maxLines="1" android:layout_gravity="center_horizontal" android:background="@drawable/search_left_shape" android:drawableLeft="@drawable/all_icon_search" android:drawablePadding="15dp" android:hint="Enter Community " android:gravity="center" android:paddingLeft="15dp" android:textColor="#333333" android:textSize="12sp" /> <TextView android:id="@+id/tv_search" android:layout_width="60dp" android:layout_height="30dp" android:background="@drawable/search_right_shape" android:gravity="center_vertical" android:textColor="#fff" android:paddingLeft="5dp" android:text="Search" /> </LinearLayout>
下面是shape裡面的程式碼(另外一個shape換成<item android:left=”-20dp”>):
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:right="-20dp"> <shape> <corners android:radius="25dp"></corners> <solid android:color="#fff"></solid> <stroke android:color="#ffb22d" android:width="1dp"/> </shape> </item> </layer-list>
是不是實現起來很簡單啊,shape的靈活運用在實際的專案中是必不可少的,網上也有許多關於shape的用法,只有多學多用才能更好的掌握這方面的知識。
轉載時請註明出處及相應連結,本文永久地址:https://blog.yayuanzi.com/24467.html
微信打賞
支付寶打賞
感謝您對作者sunshine的打賞,我們會更加努力! 如果您想成為作者,請點我