confused
confused

Reputation: 123

Clickable relative layout

I have a clickable relative layout with textviews that I want to create an outline around to allow users to realize that it is clickable, but I'm not sure how to go about doing this. Any help would be appreciated.

EDIT: I've already implemented clickability, that is, I'm already able to click it and have it do something. I merely want to draw a box around the layout itself to indicate that it is clickable.

Upvotes: 0

Views: 2144

Answers (2)

theisenp
theisenp

Reputation: 8719

If you just want to draw a frame around a RelativeLayout, you can do that very simply.

  1. Place your RelativeLayout inside of a FrameLayout.
  2. Set the background of the FrameLayout to be whatever color you want the box to be.
  3. Set the padding of the FrameLayout to your desired width for the box

So your XML will look something like this:

<FrameLayout
android:id="@+id/colored_frame"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:padding="10dip"
android:background="#FF0055CC">

    <RelativeLayout
    android:id="@+id/your_relative_layout"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:padding="10dp"
    android:background="#FF000000">

        <TextView
        android:id="@+id/some_text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Relative Layout"
        android:textSize="40sp"
        />

        <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/some_text"
        android:text="..."
        android:textSize="30sp"
        />


    </RelativeLayout>

</FrameeLayout>

Now you have a box (in this case blue) around your Relative Layout

RelativeLayout with Frame

Is that what you were looking for?

Upvotes: 3

asedra_le
asedra_le

Reputation: 3067

View have an xml attribute name android:onClick="methodName". LinearLayout, RelativeLayout inherit View. You can set your method name to this attribute. Your method must have this format:

public void methodName(View v){

}

Action method must be public, void and have an parameter type View. Put this method on your context(Activity). Good luck :)

Upvotes: 0

Related Questions