- 浏览: 67712 次
- 性别:
- 来自: Mercury
最新评论
一、ImageView使用方法
ImageView可以用来显示任意的图像,例如一个图标等。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项。
常用的属性:
android:adjustViewBounds - 是否保持宽高比。需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。
android:maxHeight - 设置View的最大高度,单独使用无效,需要与setAdjustViewBounds一起使用。
android:maxWidth - 设置View的最大宽度。
android:scaleType - 设置图片的填充方式。
android:src - 设置View的drawable(如图片,也可以是颜色,但是需要指定View的大小)
android:cropToPadding - 是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用。
android:tint - 将图片渲染成指定的颜色。
例子:
Main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="测试"/> <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/image"/> </LinearLayout>
ImageViewActivity.java
package com.android.activity; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.AnimationSet; import android.view.animation.RotateAnimation; import android.widget.Button; import android.widget.ImageView; public class ImageViewActivity extends Activity { private Button button = null; private ImageView image = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button)findViewById(R.id.button); image = (ImageView)findViewById(R.id.image); button.setOnClickListener(new ButtonListener()); } class ButtonListener implements OnClickListener{ public void onClick(View v) { AnimationSet animationSet = new AnimationSet(true); //淡入淡出 AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0); alphaAnimation.setDuration(1000); //旋转 RotateAnimation rotateAnimation = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIVE_TO_SELF,0.5f); rotateAnimation.setDuration(1000); animationSet.addAnimation(alphaAnimation); animationSet.addAnimation(rotateAnimation); image.startAnimation(animationSet); } } }
运行结果:既旋转有淡出
二、Gallery使用方法
Gallery是Android中的图片画廊控件。Gallery 是一个非常炫的效果,可以直接拖动图片来进行移动。使用很简单,只需要使用一个容器来存放Gallery显示的图片,这是使用一个继承自BaseAdapter类的派生类来装这些图片即可。然后可以监听事件setOnItemClickListener,从而确定用户选中的是哪一张图片即可。
1.设置图片画廊布局
android:animationDuration - 设置布局变化时动画的转换所需的时间
android:unselectedAlpha - 设置未选中的条目的透明度(Alpha),该值必须是float类型
android:spacing - 设置图片之间的间距
android:gravity - 指定在对象的X和Y轴上如何放置内容
main.xml
<Gallery android:id="@+id/gallery" android:layout_width="fill_parent" android:layout_height="wrap_content" android:animationDuration="100" android:unselectedAlpha="0.5" android:spacing="2dp" android:gravity="center_vertical"> </Gallery>
2.向Gallery控件中添加内容
如果向控件Gallery里面添加内容,必须继承一个类:BaseAdapter,然后重写他的部分函数。
ImageAdapter.java
package com.android.activity; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; public class ImageAdapter extends BaseAdapter{ // 定义Context private Context context; // 定义整型数组 即图片源 private Integer[] images = { R.drawable.img7, R.drawable.img8, R.drawable.img9, R.drawable.img10, R.drawable.img11, R.drawable.img12, }; // 声明 ImageAdapter public ImageAdapter(Context c){ context = c; } // 获取图片的个数 public int getCount(){ return images.length; } // 获取图片在库中的位置 public Object getItem(int position){ return position; } // 获取图片ID public long getItemId(int position){ return position; } /** * 可以设置多种效果 */ public View getView(int position, View convertView, ViewGroup parent){ ImageView imageview = new ImageView(context); // 给ImageView设置资源 imageview.setImageResource(images[position]); // 设置布局 图片120×120显示 imageview.setLayoutParams(new Gallery.LayoutParams(192, 120)); // 设置显示比例类型 imageview.setScaleType(ImageView.ScaleType.FIT_CENTER); return imageview; } }
3.得到Gallery对象,设置Adapter,以及监听器。
package com.android.activity;
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Gallery; import android.widget.Toast; public class GalleryActivity extends Activity { Gallery gallery = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //获得Gallery对象 gallery = (Gallery) findViewById(R.id.gallery); //添加ImageAdapter给Gallery对象 gallery.setAdapter(new ImageAdapter(this)); //添加监听器 gallery.setOnItemClickListener(new ImageItemClickListener()); } class ImageItemClickListener implements OnItemClickListener{ public void onItemClick(AdapterView<?> parent, View v, int position, long id) { System.out.println("选择了"+(position+1)+"张图片"); } } }
运行结果:
发表评论
文章已被作者锁定,不允许评论。
-
Android40_Dialog
2011-11-14 00:11 2998Dialog是Android常用的对话框控件。AlertDia ... -
Android39_Clock和TimePicker
2011-11-14 00:08 2362一、AnalogClock和DigitalClock ... -
Android37_JSON数据解析
2011-11-08 00:14 2351一、JSON介绍 JSON(JavaSc ... -
Android36_Animations使用(四)
2011-11-08 00:14 3418一、LayoutAnimationsContrlller ... -
Android35_Animations使用(三)
2011-11-08 00:13 2652一、AnimationSet的具体使用方法 ... -
Android34_Animations使用(二)
2011-11-08 00:12 1961在代码中使用Animations可以很方便的调试、运行 ... -
Android33_Animations使用(一)
2011-11-08 00:12 2287一、Animations介绍 Anima ... -
Android31_AppWidget使用(二)
2011-11-05 00:09 2511一、PendingIntent介绍 PendingIn ... -
Android30_AppWidget使用(一)
2011-11-05 00:08 2262一、App Widget定义 App ... -
Android32_Notification用法
2011-11-05 00:09 1889Android系统的状态栏(Status Bar)中有一 ... -
Android29_SeekBar和RatingBar
2011-11-02 23:21 2120一、使用SeekBar步骤: SeekB ... -
Android28_ExpandableListActivity
2011-11-02 23:21 1489ExpandableListActivity就是可扩展的 ... -
Android27_AutoCompleteTextView
2011-11-02 23:21 1094一、创建AutoCompleteTextView ... -
Android26_DatePicker
2011-11-02 23:20 1783一、DatePicker和DatePickerDialo ... -
Android25_Spinner使用方法
2011-11-02 23:20 2818一、创建Spinner的步骤 1.在布局 ... -
Android24_Service初步
2011-10-18 22:27 1009一、Service概念 ... -
Android23_Socket编程
2011-10-18 22:19 1514一、什么是Socket Socket是基 ... -
Android22_WIFI网络操作
2011-10-18 22:12 1696一、什么是WIFI WIFI就是一种无线 ... -
Android21_广播机制(二)
2011-10-18 22:00 1007一、注册BroadcastReceiver的方法 ... -
Android20_广播机制(一)
2011-10-18 21:48 1078一、Android广播机制介绍 Android:操作系统 ...
相关推荐
Android Gallery 自定义ImageView和Gallery实现图片浏览功能,类似Android图库软件,主要实现的功能有:图片左右滑动、放大缩小、放大弹回、缩小弹回。 一开始使用Viewpager实现图片浏览,发现两张图片滑动时没有...
再者,对于图片的加载和显示,Android提供了多种选择,如Bitmap类和ImageView组件。开发者可能会使用异步加载技术,比如Picasso或 Glide库,来优化图片加载速度,防止UI线程阻塞,提高用户体验。同时,为了在3D环境...
总结起来,"Android_UI_Gallery"项目展示了如何利用`Gallery`组件创建一个可滚动的UI元素,并通过定制适配器、事件监听和动画来实现丰富的交互体验。虽然`Gallery`已被弃用,但其概念和技巧在理解和使用现代组件如`...
再者,Gallery2可能使用了ImageView和Bitmap的高效加载策略。在Android中,大图的直接加载可能导致内存溢出,因此通常会采用像LruCache这样的内存缓存或Picasso、 Glide等第三方库进行图片加载优化。通过源码,你...
Gallery是Android平台上一个经典的图片浏览组件,它在早期版本的Android系统中被广泛使用,用于展示和选择图片。这个源码分析将深入探讨Gallery组件的工作原理、关键类和方法,以及如何自定义和优化它。 首先,让...
`Gallery`的XML属性包括`android:id`用于标识控件,`android:layout_width`和`android:layout_height`定义其尺寸,`android:spacing`设置项目之间的间隔,以及`android:fadingEdgeLength`定义边缘淡出长度,提高视觉...
10. **版本兼容性**:注意,Gallery控件在Android API 16(Jelly Bean)之后已被弃用,开发者应考虑使用RecyclerView的HorizontalScrollView替代,以获得更好的性能和更多的定制选项。 这个"Gallery1"项目可能包含...
为了实现多点触摸和Gallery的联动,我们需要在Gallery的OnItemSelectedListener接口中设置监听器,当用户选择新的图片时,更新ImageView的图片源并重置其缩放比例。同时,为了防止在缩放过程中Gallery的滑动冲突,...
在Android开发中,`Gallery`和`ImageView`是两个非常重要的组件,主要用于展示图像和进行图片浏览。`Gallery`是一个可以水平滚动的视图,通常用于实现图片轮播或者选择器,而`ImageView`则是用来显示单个图像的组件...
然而,原生的`Gallery`控件在Android API 17之后就被废弃了,但通过一些技巧和自定义实现,我们仍然可以在较新的API版本上实现类似的功能。本文将深入探讨如何创建一个带有动画效果的`Gallery`控件,并提供相关的...
在`android_GalleryDEMO`这个示例中,我们将深入探讨`Gallery`组件的使用方法和相关知识点。 1. **`Gallery`的基本用法** - 在XML布局文件中,我们可以添加`<Gallery>`标签来创建一个`Gallery`控件。例如: ```...
2. 创建一个适配器,例如使用ImageView和ArrayAdapter: ```java ArrayAdapter<String> adapter = new ArrayAdapter(this, android.R.layout.simple_gallery_item, imageList); gallery.setAdapter(adapter); ``` ...
这个小例子展示了如何在Android应用中集成和使用`Gallery`控件,以实现一个可滚动的图片画廊功能。下面我们将深入探讨`Gallery`的相关知识点。 1. **Gallery控件介绍** `Gallery`是Android SDK中的一个...
1. 添加依赖:在XML布局文件中添加`Gallery`控件,通常设置`android:id`、`android:layout_width`和`android:layout_height`属性。 ```xml <Gallery android:id="@+id/gallery" android:layout_width="match_...
在Android开发中,`Gallery`组件是一个非常有用的控件,它允许用户在水平轴上滑动浏览多个项目,常用于实现图片浏览或者选项选择。在本主题中,我们将深入探讨如何利用`Gallery`来实现图片滑动,并且在选中图片时...
在Android开发中,`Gallery`组件是一个非常实用的控件,它允许用户通过左右滑动来浏览和选择项目,常用于图片浏览、菜单选择等场景。在这个特定的案例中,我们关注的是如何实现图片的自动切换功能,这在创建图片轮播...
Android Gallery 是一个特殊的视图组件,它允许用户在水平方向上滚动浏览一系列的项目,如图片或文字。作为 AdapterView 的子类,Gallery 提供了一种流畅的、中心锁定的滚动体验,用户点击时,选中的项总是居中显示...
尽管如此,理解`Gallery`的工作原理和用法仍然对学习Android的历史和迁移旧代码至新组件有所帮助。 `Gallery`的基本用法: 1. 在布局文件中添加`Gallery`组件: ```xml <Gallery android:id="@+id/gallery" ...
在Android开发中,`android_gallery`通常指的是一个用于展示图像的组件,类似于一个可以滚动的图片画廊。这个项目的核心功能是实现用户点击gallery组件中的图片后,将与之关联的另一组图片显示在一个`ImageSwitcher`...
在Android开发中,`Gallery`组件是用于展示一系列图片或者选项的一个控件,它允许用户通过左右滑动来浏览。然而,`Gallery`在新版本的Android SDK中已经被弃用,取而代之的是`HorizontalScrollView`或者`ViewPager`...