如何在android中更改背景时保持按钮颜色相同
Posted
技术标签:
【中文标题】如何在android中更改背景时保持按钮颜色相同【英文标题】:how to keep colour of button same when background is changed in android 【发布时间】:2014-06-17 07:02:33 【问题描述】:我正在开发一个 android 应用程序,在该应用程序中,当我为该应用程序设置背景图像时,按钮或编辑文本之类的任何内容也包含该背景,因此很难看到它们。 以下是我的代码
MainActivity.java
public class MainActivity extends Activity
Button b1,b2,b3;
ImageView i1;
int count=0;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button) findViewById(R.id.button1);
View background = findViewById(R.id.background);
background.setBackgroundResource(R.drawable.img2);
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:id="@+id/background"
android:background="@drawable/img2"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_
android:layout_
android:layout_alignLeft="@+id/imageView1"
android:layout_alignTop="@+id/imageView1"
android:layout_marginLeft="65dp"
android:layout_marginTop="50dp"
android:color="#ffffff"
android:text="HELLO" />
<EditText
android:id="@+id/editText1"
android:layout_
android:layout_
android:layout_below="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginTop="19dp"
android:ems="10" >
<requestFocus />
</EditText>
</RelativeLayout>
我希望按钮和编辑文本的颜色与具有纯白色背景时的颜色相同。
【问题讨论】:
更改按钮的背景也像your_button.setBackgroundColor(Color.BLACK)
@Aniruddha 我希望按钮保持原来的颜色,就像背景为白色时一样。如果我正在开发一个更大的应用程序,按照你说的做意味着设置背景颜色每个按钮和编辑文本
将以下内容添加到 XML style="?android:attr/buttonBarButtonStyle"
中的按钮和图像中
你在哪里接触到这个?如果您回复将不胜感激:)
【参考方案1】:
试试这个:
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button) findViewById(R.id.button1);
Drawable buttonBackground = b1.getBackground();
View background = findViewById(R.id.background);
background.setBackgroundResource(R.drawable.img2);
b1.setBackgroundResource(buttonBackground);
这会起作用。
【讨论】:
以上是关于如何在android中更改背景时保持按钮颜色相同的主要内容,如果未能解决你的问题,请参考以下文章