Android开发学习笔记(八)Android应用界面编程 ImageView学习
2012-12-29 20:43
609 查看
ImageView是关于图像视图的组件,继承自View,主要功能是显示darwable对象(图像,xml文件等)。
重要属性:
android:src设置ImageView所显示的Drawable对象id。
android:adjustViewBounds设置ImageView是否调整自己的边界来保持所显示图片的长宽比。
android:maxHeight最大高度
android:maxWidth最大宽度
android;scaleType 设置所显示图片如何缩放或移动以适应ImageView的大小
android:scaleType
Related
Methods:setScaleType(ImageView.ScaleType)
测试实例,一个浏览图片的小应用。
应用实现一个简单的浏览图片的功能,用户可以通过点击previous按钮浏览上一张图片,点击next按钮浏览小一张图片。
最终效果:
进入应用显示的默认图片:
点击next后,显示效果;
布局文件:
java文件
重要属性:
android:src设置ImageView所显示的Drawable对象id。
android:adjustViewBounds设置ImageView是否调整自己的边界来保持所显示图片的长宽比。
android:maxHeight最大高度
android:maxWidth最大宽度
android;scaleType 设置所显示图片如何缩放或移动以适应ImageView的大小
android:scaleType
Constant | Value | Description |
---|---|---|
matrix | 0 | |
fitXY | 1 | |
fitStart | 2 | |
fitCenter | 3 | |
fitEnd | 4 | |
center | 5 | |
centerCrop | 6 | |
centerInside | 7 |
Methods:setScaleType(ImageView.ScaleType)
测试实例,一个浏览图片的小应用。
应用实现一个简单的浏览图片的功能,用户可以通过点击previous按钮浏览上一张图片,点击next按钮浏览小一张图片。
最终效果:
进入应用显示的默认图片:
点击next后,显示效果;
布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:orientation="horizontal" > <Button android:id="@+id/previous" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="previous" /> <Button android:id="@+id/next" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="next" /> </LinearLayout> <ImageView android:id="@+id/img" android:layout_width="fill_parent" android:layout_height="400px" android:background="#ffffff" android:src="@drawable/one" android:scaleType="fitCenter" /> </LinearLayout>
java文件
package com.xujin.imageviewtest; import android.app.Activity; import android.graphics.BitmapFactory; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; public class MainActivity extends Activity { int[] images = new int[]{ R.drawable.one, R.drawable.two, R.drawable.three, R.drawable.four, }; int ImageNum = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button previous = (Button)findViewById(R.id.previous); final Button next = (Button)findViewById(R.id.next); final ImageView image = (ImageView)findViewById(R.id.img); OnClickListener listener = new OnClickListener(){ @Override public void onClick(View v){ //如果没有回收图片,则回收,防止OutOfMemery错误 BitmapDrawable bitmapDrawable = (BitmapDrawable)image.getDrawable(); if(!bitmapDrawable.getBitmap().isRecycled()) bitmapDrawable.getBitmap().recycle(); if(v == previous) { if(ImageNum < 0) ImageNum = 3; image.setImageBitmap(BitmapFactory.decodeResource(getResources(), images[ImageNum--])); } if(v == next) { if(ImageNum > 3) ImageNum = 0; image.setImageBitmap(BitmapFactory.decodeResource(getResources(), images[ImageNum++])); } } }; previous.setOnClickListener(listener); next.setOnClickListener(listener); } }
相关文章推荐
- Android开发学习笔记(七)Android应用界面编程 Radio/Check/DataPicker学习
- Android开发学习笔记(九)Android应用界面编程 AutoCompleteTextView学习
- Android应用界面开发_学习笔记_第四周
- Android应用界面开发_学习笔记_第三周
- Android高级应用开发(深入篇) stage3(下)- 高级商用界面开发 学习笔记
- android移动应用开发学习笔记(五)——模拟qq登陆界面
- Android应用界面开发_学习笔记_第二周
- Android应用界面开发_学习笔记_第一周
- Android高级应用开发(基础篇) - stage6 - 学习笔记(上)
- Android高级应用开发(基础篇) - stage1 - 学习笔记
- Android(java)学习笔记222:开发一个多界面的应用程序之不同界面间互相传递数据(短信助手案例的优化:请求码和结果码)
- Android开发学习之使用ViewPager打造应用引导界面面
- Android高级应用开发(基础篇) - stage10 - 学习笔记
- Android应用开发学习笔记之绘图
- Android应用开发学习笔记之Intent
- Android应用开发学习笔记之列表视图
- Android应用开发学习笔记之事件处理
- Android应用开发学习笔记之AsyncTask
- android 开发零起步学习笔记(十一):界面切换+几种常用界面切换效果
- android ->在界面上使用URI编程 ----开发笔记1