2011-12-28 56 views
9

Cách tạo hoạt động cài đặt trong hình nền động như thế này?Cách tạo hoạt động cài đặt cho Android Live Wallpaper

Example Picture

tôi đã xây dựng hoạt động cài đặt với chỉ một văn bản đơn giản và phải đối mặt với một số vấn đề. Vấn đề đầu tiên là tôi không thể sử dụng tệp XML bố cục cho hoạt động này. Thứ hai: Tôi không thể đặt thư mục thành biểu tượng hệ thống (drawable/ic_menu_more) khi tôi cố gắng xây dựng hoạt động đó theo chương trình. Ngoài ra tôi sẽ cần sử dụng SeekBar.

tôi sẽ rất vui mừng nếu bạn giúp tôi =)

+1

Có một chương về chủ đề này trên developer.android: http://developer.android.com/guide/topics/ui/settings. html – Warpzit

Trả lời

1

Các LiveWallpaper Ví dụ trên trang web Android Dev đi qua một cách chính xác rằng: http://developer.android.com/resources/samples/CubeLiveWallpaper/index.html

Cụ thể hơn: http://developer.android.com/resources/samples/CubeLiveWallpaper/src/com/example/android/livecubes/cube2/CubeWallpaper2Settings.html

Nói tóm lại :

public class CubeWallpaper2Settings extends PreferenceActivity 
implements SharedPreferences.OnSharedPreferenceChangeListener { 

@Override 
protected void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    getPreferenceManager().setSharedPreferencesName(
      CubeWallpaper2.SHARED_PREFS_NAME); 
    addPreferencesFromResource(R.xml.cube2_settings); 
    getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(
      this); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 
} 

@Override 
protected void onDestroy() { 
    getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(
      this); 
    super.onDestroy(); 
} 

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, 
     String key) { 
} 
} 
7

Để sử dụng biểu tượng hệ thống:

<service android:name="com.livewallpaper.warm.LiveWallpaper" 
      android:label="@string/app_name" 
      android:icon="@drawable/ic_menu_more"> 

      <intent-filter> 
       <action android:name="android.service.wallpaper.WallpaperService" /> 
      </intent-filter> 
      <meta-data android:name="android.service.wallpaper" 
       android:resource="@xml/livewallpaper" /> 

     </service> 

Trong XML-livewallpaper.xml:

<?xml version="1.0" encoding="utf-8"?> 
<wallpaper xmlns:android="http://schemas.android.com/apk/res/android" 
    android:settingsActivity="com.livewallpaper.warm.LiveWallpaperSettings" 
    android:thumbnail="@drawable/ic_menu_more"/> 
Các vấn đề liên quan