2013-05-08 74 views
0

我有一個Android設置的問題。我想創建更改活動背景顏色的設置。我需要做什麼?如何在Android中創建首選項?

我有佈局:

public class MyApp extends PreferenceActivity{ 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    } 

public void display(View view) 
{ 
     Intent intent = new Intent(this, Display.class); 

    startActivity(intent); 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 

    MenuInflater menuInflater = getMenuInflater(); 
    menuInflater.inflate(R.menu.menu, menu); 
    return true; 
} 


public boolean onOptionsItemSelected(MenuItem item) 
{ 

    switch (item.getItemId()) 
    { 
    case R.id.menu_about: 
     Intent menu_about = new Intent(this, About.class); 
     startActivity(menu_about); 
     return true; 

    case R.id.menu_copyright: 
     Intent menu_copyright = new Intent(this, Copyright.class); 
     startActivity(menu_copyright); 

     return true; 

    case R.id.menu_settings: 

     // ACTIVITY OF SETTINGS 
     return true; 

    case R.id.menu_exit: 

     finish(); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
}; 

}

我想偏好這樣的:

http://i.stack.imgur.com/k2qA5.png

現在,你understend我嗎?

+0

什麼?無法得到你。 – Gunaseelan 2013-05-08 13:31:04

+0

我嘗試創建自定義設置來更改背景顏色,但我不知道該怎麼做。 – gilu66 2013-05-08 13:34:11

+1

是否允許用戶編輯它們並在共享偏好中保留這些更改?你在質疑如何展示/存儲這些偏好,或者如何使用它們?你試過什麼了? – 2013-05-08 13:38:43

回答

1

創建SharedPreferences這樣

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
SharedPreferences.Editor editor = settings.edit(); 
editor.putString("PrefName", VALUE); 
editor.commit(); 

得到其值這樣

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
String s = settings.getString("PrefName", "")); 

最後一條語句意味着你正在尋找「爲prefname」和設置「」的值,如果沒有被發現。

希望它有幫助

0

你的意思是改變XML文件的活動背景?

機器人:背景= 「@機器人:顏色/ XXXXX」

接列出顏色之一。

1

menu.xml文件

<?xml version="1.0" encoding="utf-8"?> 
     <menu xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item  
     android:id="@+id/settings"  
     android:title="Settings"  
     > 
     <menu> 
      <item android:id="@+id/red" 
        android:title="Red" /> 

      <item android:id="@+id/Blue" 

        android:title="Blue" /> 

    </menu> 
    </item> 

    </menu> 

AndroidMenusActivity.java

public class AndroidMenusActivity extends Activity { 
    LinearLayout li; 
    public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      li= findViewById(R.id.layoutid); 
     } 



    @Override 
     public boolean onCreateOptionsMenu(Menu menu) 
     { 
      MenuInflater menuInflater = getMenuInflater(); 
      menuInflater.inflate(R.layout.menu, menu); 
      return true; 
     } 


    public boolean onOptionsItemSelected(MenuItem item) 
    { 

     switch (item.getItemId()) 
     { 
     case R.id.red: 
       li.setBackgroundColor("#ff0000"); 
      break; 

     case R.id.blue: 
       li.setBackgroundColor("#0000ff"); 
     break; 

     } 
    } 

}

main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/layoutid" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

</LinearLayout>