【Android开发】经典范例1-实现仿Windows7图片预览窗格效果
来源:互联网 发布:js模块化开发的好处 编辑:程序博客网 时间:2024/04/29 02:59
本实例将显示类似于windows7提供的图片预览窗格效果,单击任意一张图片,可以在右侧显示该图片的预览效果。
效果如图所示:
具体实现方法:
res/layout/main.xml:
MainActivity:
效果如图所示:
具体实现方法:
res/layout/main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/layout1" > <GridView android:id="@+id/gridView1" android:layout_height="match_parent" android:layout_width="440px" android:layout_marginTop="10px" android:horizontalSpacing="3px" android:verticalSpacing="3px" android:numColumns="3"/> <!-- 添加一个图像切换器 --> <ImageSwitcher android:id="@+id/imageSwitcher1" android:padding="10px" android:layout_width="match_parent" android:layout_height="match_parent"/></LinearLayout>
MainActivity:
package com.example.test; import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.view.ViewGroup.LayoutParams;import android.view.animation.AnimationUtils;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageSwitcher;import android.widget.ImageView;import android.widget.ViewSwitcher.ViewFactory; public class MainActivity extends Activity { private int[] imageId=new int []{R.drawable.img1,R.drawable.img2,R.drawable.img3,R.drawable.img4,R.drawable.img5,R.drawable.img6,R.drawable.img7,R.drawable.img8,R.drawable.img9};private ImageSwitcher imageSwitcher; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); imageSwitcher=(ImageSwitcher)findViewById(R.id.imageSwitcher1);//获取图像切换器 //设置动画效果 imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));//设置淡入动画 imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));//设置淡出动画 imageSwitcher.setFactory(new ViewFactory() {@Overridepublic View makeView() {//实例化一个ImageView对象ImageView imageView=new ImageView(MainActivity.this);//设置保持纵横比居中缩放图像imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);imageView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));return imageView;//返回imageView对象}}); imageSwitcher.setImageResource(R.drawable.img3);//设置默认显示的图像 GridView gridview=(GridView)findViewById(R.id.gridView1); BaseAdapter adapter=new BaseAdapter(){ @Overridepublic View getView(int position, View convertView, ViewGroup parent) {ImageView imageView = null;//声明一个ImageView对象if(convertView==null){imageView=new ImageView(MainActivity.this);//实例化ImageView对象/****************设置图像的宽度和高度*******************/imageView.setAdjustViewBounds(true);imageView.setMaxWidth(150);imageView.setMaxHeight(113);/*********************************************************/imageView.setPadding(5, 5, 5, 5);}else{imageView=(ImageView)convertView;}imageView.setImageResource(imageId[position]);return imageView;} //功能:获得当前选项的id@Overridepublic long getItemId(int position) {return position;}//功能:获得当前选项@Overridepublic Object getItem(int position) {return position;}//获得数量@Overridepublic int getCount() {return imageId.length;} }; gridview.setAdapter(adapter); gridview.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position,long id) {//显示选中的照片 imageSwitcher.setImageResource(imageId[position]);}}); } }
运行效果与开头描述相同,成功实现。
转载请注明出处:http://blog.csdn.net/acmman/article/details/45041127
0 0
- 【Android开发】经典范例1-实现仿Windows7图片预览窗格效果
- 实例7:实现仿Windows7图片预览窗格效果
- Android 实现仿Window7图片预览窗格效果
- Android实现本地图片选择及预览缩放效果仿春雨医生
- Android ViewPager实现图片滑动预览效果
- 【Android开发】范例2-实现放大镜效果
- 【Android开发】范例1-实现带描边的圆角图片
- 仿淘宝图片放大预览效果
- 【Android开发】经典范例1-在GridView中显示SD卡上的全部图片
- 【Android开发】经典范例2-仿QQ在状态栏显示登录状态的图标
- android实现图片预览
- android仿IOS按钮点击效果,一张图片实现
- android仿IOS按钮点击效果,一张图片实现
- 【Android开发】范例2-实现幻灯片式图片浏览器
- 【Android开发】范例1-实现跟踪鼠标单击状态的图片按钮
- android TV开发:实现3D仿Gallery效果
- JavaScript + CSS 实现图片放大预览效果
- jQuery实现图片预览大图效果
- PostSharp AOP教程
- KeeLoq算法深入剖析
- java.lang.NoClassDefFoundError: org/apache/log4j/LogManager错误的一种可能
- 与老公的哥们有不耻事 我很后悔
- Why do they choose the film faced plywood
- 【Android开发】经典范例1-实现仿Windows7图片预览窗格效果
- Code Forces 298 C Polycarpus' Dice
- Linux下安装JDK
- 实现物联网–教你如何将mbed LPC114FN28连入AXEDA!
- [Markdown] CSDN Markdown快速上手
- 通用的Java hashCode重写方案
- Android 图片视频音频数据库模式
- 你应该知道的原型图工具Mockplus(摩客)
- (二)边界值分析法