WEB开发网
开发学院手机开发Android 开发 Android 抽屉式Activity 阅读

Android 抽屉式Activity

 2012-07-17 14:06:29 来源:WEB开发网   
核心提示:public class SettingActivity extendsActivity { private ImageView mCover; private ListView mList; private Animation mStartAnimation; private Animation mStopAnima
public class SettingActivity extends
 Activity {
 private ImageView mCover;
 private ListView mList;
 private Animation mStartAnimation;
 private Animation mStopAnimation;
 private static final int DURATION_MS = 400;
 private static Bitmap sCoverBitmap = null;
 String loveyouString[] = new String[] {
  "公子白工作室", "帅哥 帅哥 帅哥 帅哥",
  "帅哥", "美女", "帅哥 帅哥 帅哥",
  "帅哥 帅哥 帅哥 帅哥", "帅哥 帅哥 帅哥",
  "地上的娃娃笑哈哈" };
 // 2个步骤
 // 1. activity-->other activity
 // 2. anim
 // 先切换到另一个activity
 // 再获得之前activity屏幕的快照将它作为一个cover覆盖在下一个屏幕的上面,然后通过动画移动这个cover,让人感觉好像是前一个屏幕的移动。
 public static void prepare(
  Activity activity, int id) {
 if (sCoverBitmap != null) {
  sCoverBitmap.recycle();
 }
 // 用指定大小生成一张透明的32位位图,并用它构建一张canvas画布
 sCoverBitmap = Bitmap
  .createBitmap(
   activity.findViewById(
    id)
    .getWidth(),
   activity.findViewById(
    id)
    .getHeight(),
   Config.ARGB_8888);
 Canvas canvas = new Canvas(
  sCoverBitmap);
 // 将指定的view包括其子view渲染到这种画布上,在这就是上一个activity布局的一个快照,现在这个bitmap上就是上一个activity的快照
 activity.findViewById(id).draw(
  canvas);
 }
 @Override
 public void onCreate(
  Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 // 绝对布局最上层覆盖了一个imageview
 setContentView(R.layout.main);
 initAnim();
 mCover = (ImageView) findViewById(R.id.slidedout_cover);
 mCover.setImageBitmap(sCoverBitmap);
 mCover.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View v) {
  close();
  }
 });
 mList = (ListView) findViewById(R.id.list);
 mList.setAdapter(new ArrayAdapter<String>(
  SettingActivity.this,
  android.R.layout.simple_list_item_1,
  loveyouString));
 mList.setOnItemClickListener(new OnItemClickListener() {

上一页  1 2 3 4 5 6 7  下一页

Tags:Android 抽屉式 Activity

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接