Java 使用意图设置imageview颜色(另一个活动)
首先,我的目标是当用户在另一个活动中单击颜色选项时,在一个活动中设置imageview背景颜色。但我不知道如何使用intent。也许我需要学习更多 这是我在第一个活动中的代码Java 使用意图设置imageview颜色(另一个活动),java,android,android-intent,imageview,Java,Android,Android Intent,Imageview,首先,我的目标是当用户在另一个活动中单击颜色选项时,在一个活动中设置imageview背景颜色。但我不知道如何使用intent。也许我需要学习更多 这是我在第一个活动中的代码 public class Games1 extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCon
public class Games1 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.games1);
ImageView wire1 = (ImageView)findViewById(R.id.imageView1);
ImageView wire2 = (ImageView)findViewById(R.id.imageView2);
ImageView wire3 = (ImageView)findViewById(R.id.imageView3);
ImageView wire4 = (ImageView)findViewById(R.id.imageView4);
ImageView wire5 = (ImageView)findViewById(R.id.imageView5);
ImageView wire6 = (ImageView)findViewById(R.id.imageView6);
ImageView wire7 = (ImageView)findViewById(R.id.imageView7);
ImageView wire8 = (ImageView)findViewById(R.id.imageView8);
wire1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
}
});
wire2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
}
});
wire3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
}
});
wire4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
}
});
wire5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
}
});
wire6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
}
});
wire7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
}
});
wire8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
}
});
}
这是我的第二个活动代码(用户选择颜色)
最后,这是第二个活动的“.xml”(用户选择颜色)
您好,您可以轻松完成此任务。 首先,添加枚举或给每种颜色一个代码 红色1个 黑色2号 3.橘子等。 然后使用intentobject.putextra(“key”,value)在value pass selected色码中传递intent。 然后在第一个活动中检查颜色代码,并根据颜色代码更改颜色
Intent colorIntent = new Intent(SelectColor.this, Games1.class);
colorIntent.putExtra("colorCode",1);
startActivity(colorIntent);
在第二个活动中
Intent colorIntent = getIntent();
int colorCode= intent.getIntExtra("colorCode");
switch(colorCode)
{
case 1:
image.setBackgroundResource(R.color.Red);
break;
case 2:
image.setBackgroundResource(R.color.Black);
break;
case 3:
image.setBackgroundResource(R.color.Orange);
break;
}
您好,您可以轻松完成此任务。 首先,添加枚举或给每种颜色一个代码 红色1个 黑色2号 3.橘子等。 然后使用intentobject.putextra(“key”,value)在value pass selected色码中传递intent。 然后在第一个活动中检查颜色代码,并根据颜色代码更改颜色
Intent colorIntent = new Intent(SelectColor.this, Games1.class);
colorIntent.putExtra("colorCode",1);
startActivity(colorIntent);
在第二个活动中
Intent colorIntent = getIntent();
int colorCode= intent.getIntExtra("colorCode");
switch(colorCode)
{
case 1:
image.setBackgroundResource(R.color.Red);
break;
case 2:
image.setBackgroundResource(R.color.Black);
break;
case 3:
image.setBackgroundResource(R.color.Orange);
break;
}
您可以根据您的
意图putExtra
并传递所需的颜色
blue.setOnClickListener(new ImageView.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
Intent myIntent = new Intent(SelectColor.this, Games1.class);
myIntent.putExtra("desireColor","blue");
startActivity(myIntent);
}
});
在您的Game1.class的onCreate()方法中
Intent intent = getIntent();
String yourColor= intent.getStringExtra("desireColor"); // for this example you will get blue color
if(yourColor.equals("blue"){
image.setBackgroundResource(R.color.blue);
} else {
// and so on for other images
}
你有了自己的颜色,现在你可以随心所欲了。你可以用你的意图把额外的传递给你想要的颜色
blue.setOnClickListener(new ImageView.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
Intent myIntent = new Intent(SelectColor.this, Games1.class);
myIntent.putExtra("desireColor","blue");
startActivity(myIntent);
}
});
在您的Game1.class的onCreate()方法中
Intent intent = getIntent();
String yourColor= intent.getStringExtra("desireColor"); // for this example you will get blue color
if(yourColor.equals("blue"){
image.setBackgroundResource(R.color.blue);
} else {
// and so on for other images
}
你有了自己的颜色,现在你可以随心所欲了。你需要在意图中添加一个表示颜色id的指示。
用您自己的颜色资源替换android.R.color.holo_blue_dark
blue.setOnClickListener(new ImageView.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
Intent myIntent = new Intent(SelectColor.this, Games1.class);
myIntent.putExtra("color",android.R.color.holo_blue_dark)
startActivity(myIntent);
}
});
然后,将颜色提取到资源“yourColor”中,并根据您的意愿使用它
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.games1);
int yourColor = getIntent().getExtras().getInt("color");
...
}
您需要在意图中添加表示颜色id的指示。
用您自己的颜色资源替换android.R.color.holo_blue_dark
blue.setOnClickListener(new ImageView.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
Intent myIntent = new Intent(SelectColor.this, Games1.class);
myIntent.putExtra("color",android.R.color.holo_blue_dark)
startActivity(myIntent);
}
});
然后,将颜色提取到资源“yourColor”中,并根据您的意愿使用它
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.games1);
int yourColor = getIntent().getExtras().getInt("color");
...
}
在中选择颜色活动
blue.setOnClickListener(new ImageView.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
Intent myIntent = new Intent(SelectColor.this, Games1.class);
myIntent.putExtra("ImageColor", Color.BLUE);
startActivity(myIntent);
}
});
然后在游戏1活动中
检索所选颜色:
Bundle extras = getIntent().getExtras();
if (extras != null) {
int color = extras.getInt("ImageColor");
wire1.setBackgroundColor(color);
}
在中选择颜色活动
blue.setOnClickListener(new ImageView.OnClickListener() {
@Override
public void onClick(View v) {
DJ.keepMusicOn();
Intent myIntent = new Intent(SelectColor.this, Games1.class);
myIntent.putExtra("ImageColor", Color.BLUE);
startActivity(myIntent);
}
});
然后在游戏1活动中
检索所选颜色:
Bundle extras = getIntent().getExtras();
if (extras != null) {
int color = extras.getInt("ImageColor");
wire1.setBackgroundColor(color);
}