Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 更改应用程序不同部分的颜色_Android_Colors_Background Color - Fatal编程技术网

Android 更改应用程序不同部分的颜色

Android 更改应用程序不同部分的颜色,android,colors,background-color,Android,Colors,Background Color,我对一项任务有意见。我的android应用程序应该更改我应用程序中所有布局的背景颜色。顺便说一句,我有9个,按一个按钮,然后更改应用程序中所有按钮的颜色,按一个不同的按钮。除了一个接一个地修改它们之外,我不知道如何进行编辑,我不想这样做,因为我有6种不同的颜色和很多按钮 我找到了这个关于动态改变主题的教程, 但这样我只能同时改变一个或两个 我的舱单: <?xml version="1.0" encoding="utf-8"?> 请帮助MainActivity.java acti

我对一项任务有意见。我的android应用程序应该更改我应用程序中所有布局的背景颜色。顺便说一句,我有9个,按一个按钮,然后更改应用程序中所有按钮的颜色,按一个不同的按钮。除了一个接一个地修改它们之外,我不知道如何进行编辑,我不想这样做,因为我有6种不同的颜色和很多按钮

我找到了这个关于动态改变主题的教程, 但这样我只能同时改变一个或两个

我的舱单:

<?xml version="1.0" encoding="utf-8"?>
请帮助

MainActivity.java

activity_main.xml


现在,当您单击任何按钮时,背景颜色和所有按钮的颜色都会根据按钮上写入的信息而改变。您可以根据希望使用的按钮和颜色的数量,通过适当的编辑重新使用代码。

放弃此功能并尝试一个接一个的方法后,我遇到了另一个问题。这里有解释和回答

找到的解决方案似乎是一种很好的方法,一个接一个的方法不起作用,因为不可能在单个活动中编辑与其他活动关联的布局属性,而我在这里尝试实现的是

它不是很流行,因为按钮变成了单色矩形,但现在对我来说已经足够了


谢谢你的帮助

过去,您无法在运行时动态更改主题,现在可能仍然如此。如果在onCreate中更改主题,则可以接受。但要查看主题的更改,您需要重新创建活动。我不知道这是否改变了。根据限制的不同,你只需打个电话,逐步浏览每个视图并更改颜色。据我所知,这些限制仍然适用。该教程使用一个辅助活动,每次我们按下按钮时都会重新启动该活动,然后所有其他活动都从中派生。但是,正如我所说的,那样我只能同时改变背景和按钮。我需要能够分别更改按钮和背景,而不必逐个更改。问题不在于如何选择颜色。我有6个按钮,每个按钮都有一个指定的颜色。背景也是如此。我的问题是我如何改变应用程序中所有按钮的颜色,而不是一个接一个地做…我知道怎么做。我在寻找一种改变颜色的方法,而不必列举每个onClickListener的每个按钮和背景…@user3137018:我希望我能理解你better@LanccePreston我会尽力解释。。。我想要的是一种改变颜色的方法,而不需要这样做:relativeLayout.setBackgroundColorColor.parseColorDC143C;绿色。挫折背景色。红色;黄色。挫折背景色。红色;蓝色。挫折背景色。红色;每次我点击一下。我想要一种方法来改变所有按钮和所有背景的主题。我不想一个一个地改变,因为它们太多了。@user3137018:好的。我会回来找你的!
<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="21" />
<uses-permission  android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>


<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" android:enabled="false" android:vmSafeMode="false">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Call"></activity>
    <activity android:name=".City"></activity>
    <activity android:name=".Map"></activity>
    <activity android:name=".Date"></activity>
    <activity android:name=".Color"></activity>
    <activity android:name=".Sms"></activity>
    <activity android:name=".Developer"></activity>
    <activity android:name=".Sms2"></activity>
</application>
package com.mavenmaverick.myapplication;

import android.support.v7.app.ActionBarActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RelativeLayout;

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Button Red = (Button) findViewById(R.id.buttonred);
    final Button Green = (Button) findViewById(R.id.buttongreen);
    final Button Yellow = (Button) findViewById(R.id.buttonyellow);
    final Button Blue = (Button) findViewById(R.id.buttonblue);
    final RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.relativeLayout);

    Red.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            relativeLayout.setBackgroundColor(Color.parseColor("#DC143C"));
            Green.setBackgroundColor(Color.RED);
            Yellow.setBackgroundColor(Color.RED);
            Blue.setBackgroundColor(Color.RED);


        }
    });

    Green.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            relativeLayout.setBackgroundColor(Color.parseColor("#26D840"));
            Red.setBackgroundColor(Color.GREEN);
            Yellow.setBackgroundColor(Color.GREEN);
            Blue.setBackgroundColor(Color.GREEN);

        }
    });

    Yellow.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            relativeLayout.setBackgroundColor(Color.parseColor("#FFDB58"));
            Green.setBackgroundColor(Color.YELLOW);
            Blue.setBackgroundColor(Color.YELLOW);
            Red.setBackgroundColor(Color.YELLOW);

        }
    });

    Blue.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            relativeLayout.setBackgroundColor(Color.parseColor("#0047AB"));
            Green.setBackgroundColor(Color.BLUE);
            Yellow.setBackgroundColor(Color.BLUE);
            Red.setBackgroundColor(Color.BLUE);

        }
    });
}

}
<Button
    android:id="@+id/buttonyellow"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/buttongreen"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="40dp"
    android:background="#FFDB58"
    android:text="All Yellow" />

<Button
    android:id="@+id/buttonred"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/buttongreen"
    android:layout_alignParentTop="true"
    android:layout_marginTop="38dp"
    android:background="#DC143C"
    android:text="All Red" />

<Button
    android:id="@+id/buttongreen"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/buttonyellow"
    android:layout_below="@+id/buttonred"
    android:layout_marginTop="46dp"
    android:background="#26D840"
    android:text="All Green" />

<Button
    android:id="@+id/buttonblue"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/buttonyellow"
    android:layout_below="@+id/buttonyellow"
    android:layout_marginTop="46dp"
    android:background="#0047AB"
    android:text="All Blue" />
</RelativeLayout>