最新消息:文章中包含代码时,请遵守代码高亮规范!

用shape做搜索样式【原创】

Android sunshine 172浏览 0评论

    最近项目中碰到这样一个搜索框的样式,如下图:

最近
     以往用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的用法,只有多学多用才能更好的掌握这方面的知识。

转载时请注明出处及相应链接,本文永久地址:http://blog.meken.net/24467.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者sunshine的打赏,我们会更加努力!    如果您想成为作者,请点我

您必须 登录 才能发表评论!