0

ボタンクリックで ImageSwitcher の画像を壁紙として設定する方法を教えてください。
ImageSwitcher のコードは完全に機能しています。
しかし、私は画像を壁紙として設定することに感銘を受けました..
私はすぐにこの作業を完了する必要があるので、私を助けてください.

これが私のコードです..

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    setContentView(R.layout.activity_gallery);

    mSwitcher = (ImageSwitcher) findViewById(R.id.switcher);

    mSwitcher.setFactory(this);

    mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,

            android.R.anim.fade_in));

    mSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,
            android.R.anim.fade_out));


    Gallery g = (Gallery) findViewById(R.id.gallery);

    g.setAdapter(new ImageAdapter(this));

    g.setOnItemSelectedListener(this);
}

public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {

    mSwitcher.setImageResource(mImageIds[position]);
}

public void onNothingSelected(AdapterView<?> parent) {
}


public View makeView() {

    ImageView i = new ImageView(this);

    i.setBackgroundColor(0xFF000000);

    i.setScaleType(ImageView.ScaleType.FIT_CENTER);

    i.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));

    return i;
}

private ImageSwitcher mSwitcher;

public class ImageAdapter extends BaseAdapter {

    public ImageAdapter(Context c) {

        mContext = c;
    }

    public int getCount() {
        return mThumbIds.length;
    }

    public Object getItem(int position) {
        return position;

    }

    public long getItemId(int position) {

        return position;

    }

    public View getView(int position, View convertView, ViewGroup parent) {

        ImageView i = new ImageView(mContext);


        i.setImageResource(mThumbIds[position]);

        i.setAdjustViewBounds(true);

        i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

        i.setBackgroundResource(R.drawable.apps_background);

        return i;
    }

    private Context mContext;

}

private Integer[] mThumbIds = {
        R.drawable.s1, R.drawable.s2,R.drawable.s,
        R.drawable.s3, R.drawable.s5,R.drawable.s6,
        R.drawable.s7, R.drawable.s9,R.drawable.s11,R.drawable.s12,R.drawable.snew,
        R.drawable.s13, R.drawable.sachin14,R.drawable.sachin15,R.drawable.sachin16};

private Integer[] mImageIds = {
        R.drawable.s1,R.drawable.s2,R.drawable.s,R.drawable.s3,
        R.drawable.s5,R.drawable.s6,R.drawable.s7,R.drawable.s9,R.drawable.s11, R.drawable.s12, R.drawable.snew,
        R.drawable.s13,R.drawable.s14,R.drawable.s15,R.drawable.s16};

}

XML ファイル:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@drawable/apps_background" >

<ImageSwitcher android:id="@+id/switcher"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:layout_alignParentTop="true"

    android:layout_alignParentLeft="true"

/>

<Gallery

    android:id="@+id/gallery"

    android:layout_width="match_parent"

    android:layout_height="60dp"

    android:layout_alignParentBottom="true"

    android:layout_alignParentLeft="true"

    android:layout_marginBottom="50dp"

    android:background="#55000000"

    android:gravity="center_vertical"

    android:spacing="16dp" />

<Button
    android:id="@+id/btnShare"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:text="set as wallpaper" />

 </RelativeLayout>
4

1 に答える 1

0

1 : 新しい変数 private int idselected = 0 を宣言します。

2 : onItemSelected

idselected = 位置;

3 : ボタンクリック //壁紙マネージャ myWallpaperManager myWallpaperManager.setResource(mImageIds [idselected]);

于 2014-10-13T06:26:16.743 に答える