2016-03-29 14 views
0

Erstens ist mein Ziel, Bildansicht Hintergrundfarbe in einer Aktivität zu setzen, wenn Benutzer auf Farbauswahl in einer anderen Aktivität klicken. Aber ich habe keine Ahnung, wie ich es mit Absicht machen soll. Vielleicht muss ich mehr lernen.Set Bildansicht Farbe mit Absicht (eine andere Aktivität)

Dies ist mein Code in der 1. Aktivität

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(); 

     } 
    }); 





} 

Das ist mein Code für die 2. Aktivität ist (Benutzer die Wahl Farbe)

public class SelectColor extends AppCompatActivity { 

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

    ImageView blue = (ImageView)findViewById(R.id.blue); 
    ImageView orange = (ImageView)findViewById(R.id.orange); 
    ImageView green = (ImageView)findViewById(R.id.green); 
    ImageView brown = (ImageView)findViewById(R.id.brown); 
    ImageView white = (ImageView)findViewById(R.id.white); 



    blue.setOnClickListener(new ImageView.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      DJ.keepMusicOn(); 
      Intent myIntent = new Intent(SelectColor.this, Games1.class); 
      startActivity(myIntent); 



     } 
    }); 

    orange.setOnClickListener(new ImageView.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      DJ.keepMusicOn(); 

     } 
    }); 

    green.setOnClickListener(new ImageView.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      DJ.keepMusicOn(); 

     } 
    }); 

    brown.setOnClickListener(new ImageView.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      DJ.keepMusicOn(); 

     } 
    }); 

    white.setOnClickListener(new ImageView.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      DJ.keepMusicOn(); 

     } 
    }); 

    blue.setOnClickListener(new ImageView.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      DJ.keepMusicOn(); 

     } 
    }); 





} 

Und schließlich das ist mein '.xml' für die 2. Aktivität (Benutzer wählen Farbe)

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
tools:context="com.example.zaidi.frame2.MainActivity2" 
android:background="#ffffff"> 


<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Choose a color" 
    android:id="@+id/textView9" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:textColor="#000000" 
    android:textSize="30dp"/> 

<ImageView 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:id="@+id/blue" 
    android:src="@drawable/blue" 
    android:layout_above="@+id/green" 
    android:layout_toStartOf="@+id/green" 
    android:clickable="true" /> 

<ImageView 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:id="@+id/brown" 
    android:src="@drawable/brown" 
    android:layout_alignParentBottom="true" 
    android:layout_toEndOf="@+id/green" 
    android:clickable="true" /> 

<ImageView 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:id="@+id/green" 
    android:src="@drawable/green" 
    android:layout_above="@+id/brown" 
    android:layout_centerHorizontal="true" 
    android:clickable="true" /> 

<ImageView 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:id="@+id/orange" 
    android:src="@drawable/orange" 
    android:layout_above="@+id/green" 
    android:layout_toEndOf="@+id/green" 
    android:clickable="true" /> 

<ImageView 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:id="@+id/white" 
    android:src="@drawable/white" 
    android:layout_alignTop="@+id/brown" 
    android:layout_toStartOf="@+id/green" 
    android:clickable="true" /> 

Antwort

2

Hallo, Sie können diese Aufgabe leicht erledigen. zuerst add enum oder geben Sie jeder Farbe einen Code wie 1 für rot 2 für schwarz 3 für orange usw. dann pass Int intention mit intentobject.putextra ("Schlüssel", Wert) in Wert übergeben ausgewählten Farbcode . dann in der ersten Aktivität für Farbcode überprüfen und Farbe nach Farbcode ändern.

Intent colorIntent = new Intent(SelectColor.this, Games1.class); 
colorIntent.putExtra("colorCode",1); 
startActivity(colorIntent); 

in der zweiten Aktivität

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; 
} 
0

können Sie putExtra mit Ihrem intent und übergeben Sie den Wunsch color

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); 
     } 
    }); 

und in onCreate() Methode Ihrer Game1.class

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 
} 

Sie haben Ihre Farbe und jetzt tun Sie es einfach, was Sie wollen.

0

Sie müssen eine Angabe in der Absicht hinzufügen, die die ID der Farbe darstellt. Ersetzen Sie android.R.color.holo_blue_dark durch Ihre eigene Farbressource.

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); 
     } 
    }); 

Dann entpacken Sie die Farbe auf Ressourcen ‚yourColor‘, und das tun, was Sie mit ihm wünschen.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.games1); 
    int yourColor = getIntent().getExtras().getInt("color"); 
    ... 
} 
0

In Ihrem SelectColor Activity

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); 
     } 
    }); 

Dann in Ihrem Games1 Activity Ihre gewählte Farbe abzurufen:

Bundle extras = getIntent().getExtras(); 
if (extras != null) { 
    int color = extras.getInt("ImageColor"); 
    wire1.setBackgroundColor(color); 
} 
Verwandte Themen