java - Background image selecting in the app -


what wanted. i'm having problem setting background app. wanted page selections of wallpaper/background app user choose. once chose background wanted clicking image view, whole app should use image background.that's all.

what i've done. i've created activity has 2 imageview choices of wallpaper available , assigns image view set background image when user click on them. problem don't know how save setting , apply other activity in project.

xml

<?xml version="1.0" encoding="utf-8"?> <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: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/settingscreen" tools:context="com.example.naris.auin.settingsactivity">  <textview     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:textappearance="?android:attr/textappearancelarge"     android:text="background selector"     android:id="@+id/textviewbackgroundselector"     android:layout_below="@+id/switchnightmode"     android:layout_alignparentleft="true"     android:layout_alignparentstart="true"     android:layout_margintop="38dp" />  <imageview     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:id="@+id/imageviewbackground1"     android:layout_marginleft="23dp"     android:layout_marginstart="23dp"     android:src="@drawable/rateicon"     android:layout_centervertical="true"     android:layout_alignparentleft="true"     android:layout_alignparentstart="true" />  <imageview     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:id="@+id/imageviewbackground2"     android:layout_centervertical="true"     android:layout_torightof="@+id/textviewbackgroundselector"     android:layout_toendof="@+id/textviewbackgroundselector"     android:layout_marginleft="36dp"     android:layout_marginstart="36dp"     android:src="@drawable/ic_launcher" />  </relativelayout> 

settings activity

public class settingsactivity extends appcompatactivity {    @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_settings);      final relativelayout settingscreen = (relativelayout) findviewbyid(r.id.settingscreen);          imageview imageviewbackground1 = (imageview) findviewbyid(r.id.imageviewbackground1);     imageview imageviewbackground2 = (imageview) findviewbyid(r.id.imageviewbackground2);      imageviewbackground1.setonclicklistener(new view.onclicklistener() {         public void onclick(view v) {              settingscreen.setbackgroundresource(r.drawable.faqicon);          }     });      imageviewbackground2.setonclicklistener(new view.onclicklistener() {         public void onclick(view v) {              settingscreen.setbackgroundresource(r.drawable.rateicon);          }     });  }  public boolean onkeydown(int keycode, keyevent event) {      if(keycode == android.view.keyevent.keycode_back)     {         startactivity(new intent(settingsactivity.this,                 mainactivity.class));         finish();     }     return false; };  } 

thanks in advance.

public class settingsactivity extends appcompatactivity {  private static final string pref_name = "nextage_quiz"; private static final int private_mode = 0;  sharedpreferences getprefs;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_settings);      getprefs = this.getsharedpreferences(pref_name, private_mode);     final relativelayout settingscreen = (relativelayout) findviewbyid(r.id.settingscreen);      imageview imageviewbackground1 = (imageview) findviewbyid(r.id.imageviewbackground1);     imageview imageviewbackground2 = (imageview) findviewbyid(r.id.imageviewbackground2);      imageviewbackground1.setonclicklistener(new view.onclicklistener() {         public void onclick(view v) {              settingscreen.setbackgroundresource(r.drawable.faqicon);             getprefs.edit().putint("id", r.drawable.faqicon).apply();         }     });      imageviewbackground2.setonclicklistener(new view.onclicklistener() {         public void onclick(view v) {              settingscreen.setbackgroundresource(r.drawable.rateicon);             getprefs.edit().putint("id", r.drawable.faqicon).apply();         }     }); } 

mainactivity:

public class mainactivity extends appcompatactivity {      private static final string pref_name = "nextage_quiz";     private static final int private_mode = 0;      sharedpreferences getprefs;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          getprefs = this.getsharedpreferences(pref_name, private_mode);          imageview background= (imageview) findviewbyid(r.id.background);         if(getprefs.getint("id",0) != 0)             background.setbackgroundresource(getprefs.getint("id",0));      } 

upadate: use these variables

        private static final string pref_name = "nextage_quiz";         private static final int private_mode = 0;          sharedpreferences getprefs; 

Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -