Activity mit verschiedenen Hintergründen,jedoch noch mit gleichen Funktionen

  • 5 Antworten
  • Letztes Antwortdatum
C

cinnamontree

Neues Mitglied
0
Guten Tag,
ich möchte einen sogenannten "Demo-Modus" in meine App einführen, ich habe bereits diesen in meiner Action-Bar.
Auf Klick soll sich einfach nur der Hintergrund ändern(Farbe/Bild), sodass man sieht,dass man sich im Demo-Modus befindet.
Ich möchte aber,dass die vorherigen Funktionen,also Buttons etc. wie davor zur Verfügung stehen.Ich weiß jedoch nicht wie ich das mache ohne,dass ich jede Datei nochmal erstelle und mit android:background="@drawable..." ergänze..hat jemand einen Tipp?

Vielen Dank im vorraus!
 
Du kannst die Ressource im Code zuweisen.
View | Android Developers)

Vorher musst du dir eine Instanz der View holen
View v = (View) findViewById(R.id.deineid);

Viel Erfolg :thumbup:
 
Hey,
ja das habe ich bereits.
Code:
    @Override
    public boolean onMenuItemSelected(int featureId, MenuItem item) {

        switch (item.getItemId()) {

        case R.id.settings:
            Intent intent = new Intent(this, SettingsActivity.class);            
            startActivity(intent);
            break;
        case R.id.demo:
            Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com/"));
            startActivity(browserIntent);
            break;
        }
        return super.onMenuItemSelected(featureId, item);
    }
Jedoch will ich ja nachdem man Demo gedrückt hat,auch noch auf Settings klicken kann,bloß,dass da der Hintergrund anders ist.
Der Hintergrund soll permanent bleiben,solange ich im Demo-Modus bin.
 
Dann speicher dir doch ein Flag in den SharedPreferences ob du im demo mode bist, das kannst du dann auswerten und die jeweilige Farbe/Hintergrund setzen.
 
Könntest du das evtl. anhand eines kurzen Beispiel zeigen?
Ich weiß nicht, wie ich mit diesem Flag den android:background in allen anderen .xmls beeinflussen könnte..
Meine Idee wäre jetzt sowas:
Code:
@Override     public boolean onMenuItemSelected(int featureId, MenuItem item) {
 [B]boolean pref = false; [/B]           
switch (item.getItemId()) {          
case R.id.settings:            
   Intent intent = new Intent(this, SettingsActivity.class);                        
   startActivity(intent);             
   break;        
case R.id.demo:            [B] 
  pref = !pref;[/B]             
  break;         }
  [B]if(pref){
// set the backgrounds?
}[/B]
 return super.onMenuItemSelected(featureId, item);     }
pref = !pref,damit ich später noch vom Demo-Modus zurückkehren kann.
 
Zurück
Oben Unten