Reputation: 735
I have searched a lot but I haven't found what I want. What I’m planning to do is to change the background colour of text on a button. I’m not interested in changing the colour on click. I just want to change the background of the text on a button. Thank you.
Edit: This is a sample. I want to change the black colour if it possible.
Upvotes: 6
Views: 16434
Reputation: 5152
created this with the help of this,i have correctly positioned the textview on button to acheive this kind of aout put:
<Button
android:id="@+id/button1"
android:layout_width="250dp"
android:layout_height="150dp"
android:layout_marginLeft="30dp"
android:layout_marginTop="380dp"
/>
<TextView
android:id="@+id/textView1"
android:layout_width="130dp"
android:layout_height="70dp"
android:layout_marginLeft="80dp"
android:layout_marginTop="420dp"
android:textSize="40dp"
android:text="Text"
android:gravity="center"
android:textColor="#ffff00"
android:background="#000000"/>
Upvotes: 2
Reputation: 289
Maybe you should try to use RelativeLayout instead of Button. Something like this: `
<RelativeLayout
android:id="@+id/RelativeLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:clickable="true"
android:background="#ffffff" >
<TextView
android:id="@+id/TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text"
android:textColor="#ffffff"
android:background="#000000"
android:textSize="16sp" />
</RelativeLayout>`
Upvotes: 3
Reputation: 2108
You can use selector for this :
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:color="#ffffff" />
<item android:state_focused="true" android:state_pressed="true" android:color="#FF0000" />
<item android:state_focused="false" android:state_pressed="true" android:color="#FF0000" />
<item android:color="#ffffff" />
</selector>
Place the xml in a file at res/drawable folder i.e. res/drawable/button_text_color.xml. Then just set the drawable as text color:
android:textColor="@drawable/button_text_color"
All the best
Upvotes: 0
Reputation: 5152
your question is not correctly asked,but what i understood:
to set the background color of text means create shadow of text on button
<style name="shadowed_button">
<item name="android:shadowColor">#444444</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">9</item>
</style>
and setting shadow programmatically
button.setShadowLayer(9, 1, 1, Color.rgb(44, 44, 44));
to set the background color of button
<Button
android:id="@+id/street_btn"
android:layout_width="wrap_content"
android:background="@drawable/layout_a" > <!-- your required color -->
</Button>
or
button.setBackgroundColor(Color.BLUE);
and third thing is onbutton click change background,but you already mentioned that,you don't want that effect.
no you can not do this with only button widget,you have to create two contols:
button with textView:
set textview background color
or
Image with textView:
set textview background color
or
create [coumpound control][2]
Upvotes: 1
Reputation: 5493
Use this to set the text color of Button :
setTextColor(getResources().getColor(R.color.white));
or
android:textColor="@color/white"
Use this to set the background of the button :
setBackgroundResource(R.drawable.button_img);
or
android:background="@drawable/button_img"
or
android:background="@color/blue"
Upvotes: 3
Reputation:
if you want to change the color of the button you can use this android:background="#000fff"
Upvotes: 1