如何使用ListPreference为动态壁纸背景选择图像

时间:2015-03-10 06:55:56

标签: android preferences live-wallpaper

我正在制作动态壁纸。 在这里,我希望用户选择一个背景图像,并在背景图像上旋转/移动一些其他图像。

我想通过偏好显示4-6张图片的列表,用户可以在其中选择一张。我想在后台设置用户选择的图像。

我该怎么做? 我应该使用ListPreference吗?

我看过Choosing background for Live Wallpaper但无法正常工作。

由于

1 个答案:

答案 0 :(得分:0)

How to add a button to PreferenceScreen

为我工作。

在我使用TextView和添加ImageView的按钮位置。

    

<LinearLayout 
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_marginTop="15dp"
          android:orientation="horizontal">

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="150dp"
            android:layout_height="200dp"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/background1" 
            android:layout_weight="1"
            android:onClick="imageClicked1"/>

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="150dp"
            android:layout_height="200dp"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/background2" 
            android:layout_weight="1"
            android:onClick="imageClicked2"/>


 </LinearLayout>


 <LinearLayout 
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_marginTop="15dp"
          android:orientation="horizontal">

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="150dp"
            android:layout_height="200dp"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/background3" 
            android:layout_weight="1"
            android:onClick="imageClicked3"/>

        <ImageView
            android:id="@+id/imageView4"
            android:layout_width="150dp"
            android:layout_height="200dp"
            android:layout_weight="1"
            android:onClick="imageClicked4"
            android:src="@drawable/background4" />

    </LinearLayout> 

  <ListView android:id="@android:id/list"
    android:visibility="invisible"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent" />
  </LinearLayout>

并实现了onClick事件的方法 对于第一个imageView

的Eg
      public void imageClicked1(View V)
      {
          Toast.makeText(this, "Image Clciked 1", Toast.LENGTH_LONG).show();

          shfEditorObject.putInt("IMAGE", 1);
          shfEditorObject.commit();
      }

然后从共享偏好中提取图像并设置为背景。