⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wallpaper.java

📁 android 例子中的Home。很有代表意义
💻 JAVA
字号:
/* * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package com.example.android.home;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.util.Log;import android.view.MotionEvent;import android.view.View;import android.view.ViewGroup;import android.view.Window;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;import android.widget.Gallery.LayoutParams;import java.io.IOException;import java.io.InputStream;/** * Wallpaper picker for the Home application. User can choose from * a gallery of stock photos. */public class Wallpaper extends Activity implements        AdapterView.OnItemSelectedListener, AdapterView.OnItemClickListener {        private static final String LOG_TAG = "Home";    private static final Integer[] THUMB_IDS = {            R.drawable.bg_android_icon,            R.drawable.bg_sunrise_icon,            R.drawable.bg_sunset_icon,    };    private static final Integer[] IMAGE_IDS = {            R.drawable.bg_android,            R.drawable.bg_sunrise,            R.drawable.bg_sunset,    };    private Gallery mGallery;    private boolean mIsWallpaperSet;            @Override    public void onCreate(Bundle icicle) {        super.onCreate(icicle);        requestWindowFeature(Window.FEATURE_NO_TITLE);        setContentView(R.layout.wallpaper);        mGallery = (Gallery) findViewById(R.id.gallery);        mGallery.setAdapter(new ImageAdapter(this));        mGallery.setOnItemSelectedListener(this);        mGallery.setOnItemClickListener(this);    }        @Override    protected void onResume() {        super.onResume();        mIsWallpaperSet = false;    }    public void onItemSelected(AdapterView parent, View v, int position, long id) {        getWindow().setBackgroundDrawableResource(IMAGE_IDS[position]);    }        public void onItemClick(AdapterView parent, View v, int position, long id) {        selectWallpaper(position);    }    /*     * When using touch if you tap an image it triggers both the onItemClick and     * the onTouchEvent causing the wallpaper to be set twice. Synchronize this     * method and ensure we only set the wallpaper once.     */    private synchronized void selectWallpaper(int position) {        if (mIsWallpaperSet) {            return;        }        mIsWallpaperSet = true;        try {            InputStream stream = getResources().openRawResource(IMAGE_IDS[position]);            setWallpaper(stream);            setResult(RESULT_OK);            finish();        } catch (IOException e) {            Log.e(LOG_TAG, "Failed to set wallpaper " + e);        }    }    public void onNothingSelected(AdapterView parent) {    }        @Override    public boolean onTouchEvent(MotionEvent event) {        selectWallpaper(mGallery.getSelectedItemPosition());        return true;    }    public class ImageAdapter extends BaseAdapter {        private Context mContext;                public ImageAdapter(Context c) {            mContext = c;        }        public int getCount() {            return THUMB_IDS.length;        }        public Object getItem(int position) {            return position;        }        public long getItemId(int position) {            return position;        }        public View getView(final int position, View convertView, ViewGroup parent) {            ImageView i = new ImageView(mContext);            i.setImageResource(THUMB_IDS[position]);            i.setAdjustViewBounds(true);            i.setLayoutParams(new Gallery.LayoutParams(                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));            i.setBackgroundResource(android.R.drawable.picture_frame);            return i;        }    }}    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -