簡體   English   中英

如何僅在 EditText 底部添加邊框?

[英]how add a border only on bottom of EditText?

我看了很多相關的討論,但沒有找到合適的解決方案。 我需要做的是在 EditText 小部件的底部創建一個黑色邊框。 那可能嗎?

簡單在res 的drawable文件夾中創建一個edittext_bottom_line.xml文件

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:bottom="1dp"
        android:left="-2dp"
        android:right="-2dp"
        android:top="-2dp">
        <shape android:shape="rectangle" >
            <stroke
                android:width="0.5dp"
                android:color="@android:color/black" />
        </shape>
    </item>

</layer-list>

像這樣設置控件的單個屬性:

 <EditText
     android:id="@+id/editTextEnterPassword"
     android:layout_width="fill_parent"
     android:layout_height="40dp"
    android:background="@drawable/edittext_bottom_line"
    /> 

我最后編譯了這個:

<?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true"><layer-list>
                <item android:bottom="-10dp" android:left="-10dp" android:right="-10dp"><shape>
                        <gradient android:angle="270" android:endColor="#a0e0b071" android:startColor="#a0a67637" />

                        <stroke android:width="10dp" android:color="#5c3708" />

                        <corners android:radius="5dp" />

                        <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
                    </shape></item>
            </layer-list></item>
        <item android:state_enabled="true"><layer-list>
                <item android:bottom="-10dp" android:left="-10dp" android:right="-10dp"><shape android:shape="rectangle">
                        <gradient android:angle="270" android:endColor="#a0a67637" android:startColor="#a0e0b071" />

                        <stroke android:width="10dp" android:color="#5c3708" />

                        <corners android:radius="5dp" />

                        <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
                    </shape></item>
            </layer-list></item>

    </selector>

只需在res/drawable 中添加underlinebg.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:bottom="-1dp"
        android:left="-2dp"
        android:right="-2dp"
        android:top="-2dp">
        <shape android:shape="rectangle" >
            <stroke
                android:width="2dp"
                android:color="@color/drawe_content_color_click" />
        </shape>
    </item>

</layer-list> 

並在需要的地方設置背景。 對我來說,我得到了類似 [![myoutput!!][1]][1] 的解決方案。我認為我的回答對其他人有幫助。

創建一個包含項目的圖層列表,如下所示

<item android:bottom="-1dp"
    android:left="-2dp"
    android:right="-2dp"
    android:top="-2dp">
    <shape android:shape="rectangle" >
        <stroke
            android:width="2dp"
            android:color="#111111" />
    </shape>
</item>

您可以創建一個 xml 文件,如下所示:

<item>
    <shape android:shape="rectangle" >
        <solid android:color="@color/orange" />
    </shape>
</item>
<item android:bottom="4dp">
    <shape android:shape="rectangle" >
        <size android:height="4dp" />

        <solid android:color="@color/green3" />
    </shape>
</item>

然后將此文件設置為您的背景

<?xml version="1.0" encoding="utf-8" `enter code here`?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:left="2dp" android:right="-2dp"
        android:top="-2dp" android:bottom="2dp" >
        <shape android:shape="rectangle">
            <stroke android:color="@android:color/black" android:width="2dp">

            </stroke>
        </shape>
    </item>
</layer-list>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM