カスタムデザインEditText
があります
search_page.xml
<LinearLayout
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:orientation="horizontal"
Android:padding="10dp"
Android:background="#E1E1E1"
Android:weightSum="1" >
<TextView
Android:layout_width="0dp"
Android:layout_height="wrap_content"
Android:layout_weight=".25"
Android:text="City" />
<EditText
Android:layout_width="0dp"
Android:layout_height="wrap_content"
Android:layout_marginLeft="10dp"
Android:background="@drawable/rounded_edittext"
Android:layout_weight=".75" />
</LinearLayout>
rounded_edittext.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- res/drawable/rounded_edittext.xml -->
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:padding="10dp"
Android:shape="rectangle" >
<solid Android:color="#FFFFFF" />
<corners
Android:bottomLeftRadius="10dp"
Android:bottomRightRadius="10dp"
Android:topLeftRadius="10dp"
Android:topRightRadius="10dp" />
</shape>
カラーコード#2f6699
を使用して、以下のようにEditText
テキストボックスの輪郭のような境界線の色を取得します。
これを達成する方法に関するアイデアはありますか?
rounded_edittext.xmlで以下のコードを使用します
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<solid Android:color="#FFFFFF" />
<stroke
Android:width="1dp"
Android:color="#2f6699" />
<corners
Android:radius="10dp"
/>
</shape>
これは動作するはずです
上の画像のEditTextの場合、res-> drawableフォルダーに2つのxmlファイルを作成する必要があります。最初は "bg_edittext_focused.xml"で、コード行を貼り付けます
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<solid Android:color="#FFFFFF" />
<stroke
Android:width="2dip"
Android:color="#F6F6F6" />
<corners Android:radius="2dip" />
<padding
Android:bottom="7dip"
Android:left="7dip"
Android:right="7dip"
Android:top="7dip" />
</shape>
2番目のファイルは "bg_edittext_normal.xml"になり、コード行を貼り付けます
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<solid Android:color="#F6F6F6" />
<stroke
Android:width="2dip"
Android:color="#F6F6F6" />
<corners Android:radius="2dip" />
<padding
Android:bottom="7dip"
Android:left="7dip"
Android:right="7dip"
Android:top="7dip" />
</shape>
Res-> drawableフォルダーに、上記のコードを呼び出す「bg_edittext.xml」という名前の別のxmlファイルを作成します。以下のコード行をbg_edittext.xmlに貼り付けます
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:drawable="@drawable/bg_edittext_focused" Android:state_focused="true"/>
<item Android:drawable="@drawable/bg_edittext_normal"/>
</selector>
最後に、res-> layout-> example.xmlファイルで、editTextを作成した場所にbg_edittext.xmlをバックグラウンドとして呼び出します。
<EditText
:::::
:::::
Android:background="@drawable/bg_edittext"
:::::
:::::
/>
Rounded_edittext.xmlで以下のコードを使用します。
<?xml version="1.0" encoding="utf-8" ?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:thickness="0dp"
Android:shape="rectangle">
<stroke Android:width="2dp"
Android:color="#2F6699"/>
<corners Android:radius="3dp" />
<gradient Android:startColor="#C8C8C8"
Android:endColor="#FFFFFF"
Android:type="linear"
Android:angle="270"/>
</shape>
9-patch drawable を使用するか、 Shape drawableを作成します。
Android:background="#E1E1E1"
// background add in layout
<EditText
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="#ffffff">
</EditText>
edit_text.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
<solid Android:color="#ffffff" />
<corners Android:radius="5dp"/>
<stroke Android:width="2dip" Android:color="@color/button_color_submit" />
</shape>
ここで使用
<EditText
-----
------
Android:background="@drawable/edit_text.xml"
/>