zoukankan      html  css  js  c++  java
  • android开发_ImageSwitcher

    新建项目:

    项目结构:

    运行效果:

    代码部分:

    imageswitcherpage.xml

     1 <?xml version="1.0" encoding="utf-8"?>
     2 
     3 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     4     android:layout_width="match_parent" 
     5     android:layout_height="match_parent"> 
     6     
     7     <ImageSwitcher android:id="@+id/switcher"
     8         android:layout_width="match_parent"
     9         android:layout_height="match_parent"
    10         android:layout_alignParentTop="true"
    11         android:layout_alignParentLeft="true"
    12     />
    13     
    14     <Gallery android:id="@+id/gallery"
    15         android:background="#55000000"
    16         android:layout_width="match_parent"
    17         android:layout_height="60dp"
    18         android:layout_alignParentBottom="true"
    19         android:layout_alignParentLeft="true"
    20         
    21         android:gravity="center_vertical"
    22         android:spacing="16dp"
    23     />
    24 
    25 </RelativeLayout>

    MainActivity.java

      1 package com.b510;
      2 
      3 import android.app.Activity;
      4 import android.content.Context;
      5 import android.os.Bundle;
      6 import android.view.View;
      7 import android.view.ViewGroup;
      8 import android.view.Window;
      9 import android.view.animation.AnimationUtils;
     10 import android.widget.AdapterView;
     11 import android.widget.BaseAdapter;
     12 import android.widget.Gallery;
     13 import android.widget.ImageSwitcher;
     14 import android.widget.ImageView;
     15 import android.widget.AdapterView.OnItemSelectedListener;
     16 import android.widget.Gallery.LayoutParams;
     17 import android.widget.ViewSwitcher.ViewFactory;
     18 
     19 public class MainActivity extends Activity implements OnItemSelectedListener,
     20         ViewFactory {
     21     /** 定义一个切换图片对象is */
     22     private ImageSwitcher is;
     23     /** 定义一个画廊Galley对象 */
     24     private Gallery gallery;
     25 
     26     /** 定义图片资源 */
     27     private Integer[] mThumbIds = { R.drawable.b, R.drawable.p4, R.drawable.d,
     28             R.drawable.f, R.drawable.p8, R.drawable.p1, R.drawable.p2,
     29             R.drawable.p3, R.drawable.c, R.drawable.p5, R.drawable.p6,
     30             R.drawable.p7, R.drawable.g, };
     31     /** 定义图片的id */
     32     private Integer[] mImageIds = { R.drawable.b, R.drawable.p4, R.drawable.d,
     33             R.drawable.f, R.drawable.p8, R.drawable.p1, R.drawable.p2,
     34             R.drawable.p3, R.drawable.c, R.drawable.p5, R.drawable.p6,
     35             R.drawable.p7, R.drawable.g, };
     36 
     37     @Override
     38     protected void onCreate(Bundle savedInstanceState) {
     39         // TODO Auto-generated method stub
     40         super.onCreate(savedInstanceState);
     41         // 关掉在屏幕顶端的标题
     42         requestWindowFeature(Window.FEATURE_NO_TITLE);
     43         // 得到图片的布局文件
     44         setContentView(R.layout.imageswitcherpage);
     45         // 初始化is对象
     46         is = (ImageSwitcher) findViewById(R.id.switcher);
     47         // 设置工厂用来创建两种视图的ViewSwitcher之间会翻转
     48         is.setFactory(this);
     49         // 定义的动画
     50         is.setInAnimation(AnimationUtils.loadAnimation(this,
     51                 android.R.anim.fade_in));
     52         is.setOutAnimation(AnimationUtils.loadAnimation(this,
     53                 android.R.anim.fade_out));
     54 
     55         gallery = (Gallery) findViewById(R.id.gallery);
     56         // 给画廊添加适配器
     57         gallery.setAdapter(new ImageAdapter(this));
     58         // 给画廊中的每一个item设置选择监听器
     59         gallery.setOnItemSelectedListener(this);
     60     }
     61 
     62     // 重写makeView方法
     63     @Override
     64     public View makeView() {
     65         ImageView i = new ImageView(this);
     66         i.setBackgroundColor(0xFF000000);
     67         i.setScaleType(ImageView.ScaleType.FIT_CENTER);
     68         i.setLayoutParams(new ImageSwitcher.LayoutParams(
     69                 LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
     70         return i;
     71     }
     72 
     73     public class ImageAdapter extends BaseAdapter {
     74         public ImageAdapter(Context c) {
     75             mContext = c;
     76         }
     77 
     78         public int getCount() {
     79             return mThumbIds.length;
     80         }
     81 
     82         public Object getItem(int position) {
     83             return position;
     84         }
     85 
     86         public long getItemId(int position) {
     87             return position;
     88         }
     89 
     90         public View getView(int position, View convertView, ViewGroup parent) {
     91             ImageView i = new ImageView(mContext);
     92 
     93             i.setImageResource(mThumbIds[position]);
     94             i.setAdjustViewBounds(true);
     95             i.setLayoutParams(new Gallery.LayoutParams(
     96                     LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
     97             i.setBackgroundResource(R.drawable.e);
     98             return i;
     99         }
    100 
    101         private Context mContext;
    102 
    103     }
    104 
    105     @Override
    106     public void onItemSelected(AdapterView<?> parent, View view, int position,
    107             long id) {
    108         // 当每一个对象被选择时得到图像的id
    109         is.setImageResource(mImageIds[position]);
    110 
    111     }
    112 
    113     @Override
    114     public void onNothingSelected(AdapterView<?> parent) {
    115 
    116     }
    117 }
  • 相关阅读:
    开源blog搬家工具
    嵌入式语言Lua
    ChangeMan Version Manager Workstation 8.1 command line quick check in/out
    Mssql合并列值(三个关系表合并)
    心得——学习中做笔记应该做到哪
    MFC Dialog 透明渐变
    【转】SSDT&Shadow Hook的实现,完整代码。可编译
    ssdt 表结构及hook的一般理解
    <转>ssdt hook 源码
    【转】_declspec(naked) 使用
  • 原文地址:https://www.cnblogs.com/hongten/p/android_ImageSwitcher.html
Copyright © 2011-2022 走看看