nrofis
nrofis

Reputation: 9766

Android - One side border ImageButton

I am trying to draw border in one side only to ImageButton object,
like in CSS: border-left: 2px solid black;.

Is there any way to do that with style only? (Without inserting a blank view between them)

Thank you!

EDIT:
I used the <selector> tag with the ImageButton.

Upvotes: 2

Views: 1859

Answers (2)

nrofis
nrofis

Reputation: 9766

After alot of searching, I found way to do that.

Create xml file that containce the border style (border_style.xml):

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle">
            <!-- The border color -->
            <solid android:color="#000" />
        </shape>
    </item>

    <item android:left="1dp">
        <shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle">
            <!-- The fill color-->
        </shape>
    </item>
</layer-list> 

then in the selector, you write like that:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
         <!-- Press Event -->
    </item> 

    <item android:state_focused="true"> 
              <!-- Focuse Event -->
    </item> 

    <item android:drawable="@drawable/border_style.xml" />         
</selector> 

Upvotes: 3

Md Abdul Gafur
Md Abdul Gafur

Reputation: 6201

You do not able to do like css. You need to create a xml and put the xml in android drable folder and send the image-button background

And rectangle drawable back.xml (put into res/drawable folder):

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
   <solid android:color="#ffffff" />
   <stroke android:width="1dip" android:color="#4fa5d5"/>
</shape>

Upvotes: 0

Related Questions