首页 文章 精选 留言 我的

精选列表

搜索[人员工作量视图],共10003篇文章
优秀的个人博客,低调大师

画廊视图Gallery

幻灯片图片浏览器 1.布局 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" 6 tools:context=".AndroidGalleryActivity" > 7 8 <ImageSwitcher 9 android:id="@+id/imgswi" 10 android:layout_width="320dp" 11 android:layout_height="320dp" /> 12 13 <Gallery 14 android:id="@+id/gallery" 15 android:layout_width="match_parent" 16 android:layout_height="wrap_content" 17 android:layout_marginTop="25dp" 18 android:unselectedAlpha="0.6" 19 android:spacing="3pt" 20 /> 21 22 </LinearLayout> 2.逻辑控制 1 package com.example.androidgallery; 2 3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.content.res.TypedArray; 6 import android.support.v4.view.ViewPager.LayoutParams; 7 import android.view.Menu; 8 import android.view.View; 9 import android.view.ViewGroup; 10 import android.view.animation.AnimationUtils; 11 import android.widget.AdapterView; 12 import android.widget.AdapterView.OnItemSelectedListener; 13 import android.widget.BaseAdapter; 14 import android.widget.Gallery; 15 import android.widget.ImageSwitcher; 16 import android.widget.ImageView; 17 import android.widget.ViewSwitcher.ViewFactory; 18 19 public class AndroidGalleryActivity extends Activity { 20 21 int[] imageIds=new int[]{ 22 R.drawable.mm, 23 R.drawable .mm2, 24 R.drawable.mm3, 25 R.drawable.mm4 26 } ; 27 28 @Override 29 protected void onCreate(Bundle savedInstanceState) { 30 super.onCreate(savedInstanceState); 31 setContentView(R.layout.activity_android_gallery); 32 final Gallery gallery=(Gallery)this.findViewById(R.id.gallery); 33 final ImageSwitcher imgswi=(ImageSwitcher)this.findViewById(R.id.imgswi); 34 //设置ViewFactory对象 35 imgswi.setFactory(new ViewFactory() { 36 37 @Override 38 public View makeView() { 39 ImageView imageView=new ImageView(AndroidGalleryActivity.this); 40 imageView.setBackgroundColor(0xff0000); 41 imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 42 imageView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); 43 return imageView; 44 } 45 }); 46 //设置图片更换动画效果 47 imgswi.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in)); 48 imgswi.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out)); 49 //创建一个BaseAdapter对象,负责提供Gallery显示每张图片 50 BaseAdapter adapter=new BaseAdapter() { 51 52 @Override 53 public View getView(int position, View convertview, ViewGroup parent) { 54 //创建一个ImageView 55 ImageView imageView=new ImageView(AndroidGalleryActivity.this); 56 imageView.setImageResource(imageIds[position%imageIds.length]); 57 //设置ImageView缩放类型 58 imageView.setScaleType(ImageView.ScaleType.FIT_XY); 59 imageView.setLayoutParams(new Gallery.LayoutParams(75,100)); 60 /*TypedArray typeArray=obtainStyledAttributes(R.styleable.Gallery); 61 imageView.setBackgroundResource(TypedArray)*/ 62 return imageView; 63 } 64 65 @Override 66 public long getItemId(int arg0) { 67 // TODO Auto-generated method stub 68 return arg0; 69 } 70 71 @Override 72 public Object getItem(int arg0) { 73 // TODO Auto-generated method stub 74 return arg0; 75 } 76 77 @Override 78 public int getCount() { 79 // TODO Auto-generated method stub 80 return imageIds.length; 81 } 82 }; 83 84 gallery.setAdapter(adapter); 85 gallery.setOnItemSelectedListener(new OnItemSelectedListener() { 86 87 @Override 88 public void onItemSelected(AdapterView<?> parent, View view, 89 int position, long id) { 90 // TODO Auto-generated method stub 91 imgswi.setImageResource(imageIds[position%imageIds.length]); 92 } 93 94 @Override 95 public void onNothingSelected(AdapterView<?> parent) { 96 // TODO Auto-generated method stub 97 98 } 99 100 }); 101 } 102 103 @Override 104 public boolean onCreateOptionsMenu(Menu menu) { 105 // Inflate the menu; this adds items to the action bar if it is present. 106 getMenuInflater().inflate(R.menu.activity_android_gallery, menu); 107 return true; 108 } 109 110 } 本文转自欢醉博客园博客,原文链接http://www.cnblogs.com/zhangs1986/archive/2013/03/02/2939902.html如需转载请自行联系原作者 欢醉

优秀的个人博客,低调大师

Android网格视图(GridView)

GridView的一些属性: 1.android:numColumns=”auto_fit” //GridView的列数设置为自动,也可以设置成2、3、4…… 2.android:columnWidth=”90dp " //每列的宽度,也就是Item的宽度 3.android:stretchMode=”columnWidth"//缩放与列宽大小同步 4.android:verticalSpacing=”10dp” //两行之间的边距 5.android:horizontalSpacing=”10dp” //两列之间的边距 6.android:cacheColorHint="#00000000" //去除拖动时默认的黑色背景 7.android:listSelector="#00000000" //去除选中时的黄色底色 8.android:scrollbars="none" //隐藏GridView的滚动条 9.android:fadeScrollbars="true" //设置为true就可以实现滚动条的自动隐藏和显示 10.android:fastScrollEnabled="true" //GridView出现快速滚动的按钮(至少滚动4页才会显示) 11.android:fadingEdge="none" //GridView衰落(褪去)边缘颜色为空,缺省值是vertical。(可以理解为上下边缘的提示色) 12.android:fadingEdgeLength="10dip" //定义的衰落(褪去)边缘的长度 13.android:stackFromBottom="true" //设置为true时,你做好的列表就会显示你列表的最下面 14.android:transcriptMode="alwaysScroll" //当你动态添加数据时,列表将自动往下滚动最新的条目可以自动滚动到可视范围内 15.android:drawSelectorOnTop="false" //点击某条记录不放,颜色会在记录的后面成为背景色,内容的文字可见(缺省为false) 下面来示例显示程序图标与标题: 子元素布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/itemImage" android:layout_width="80dp" android:layout_height="80dp" android:layout_centerHorizontal="true"/> <TextView android:id="@+id/itemName" android:layout_below="@id/itemImage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true"/> </RelativeLayout> GridView布局,每列3个: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <GridView android:id="@+id/gridView" android:layout_width="match_parent" android:layout_height="wrap_content" android:horizontalSpacing="2dp" android:numColumns="3" android:verticalSpacing="2dp" /> </LinearLayout> 数据绑定,给定点击事件: package com.example.androidgridview; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.R.string; import android.os.Bundle; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.BitmapFactory.Options; import android.view.Menu; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import android.widget.SimpleAdapter; import android.widget.Toast; public class MainActivity extends Activity { private GridView gridView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gridView = (GridView) this.findViewById(R.id.gridView); List<Map<String, Object>> item = getData(); // SimpleAdapter对象,匹配ArrayList中的元素 SimpleAdapter simpleAdapter = new SimpleAdapter(this, item, R.layout.gridviewitem, new String[] { "itemImage", "itemName" }, new int[] { R.id.itemImage, R.id.itemName }); gridView.setAdapter(simpleAdapter); // 添加点击事件 gridView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { int index = arg2 + 1;// id是从0开始的,所以需要+1 Toast.makeText(getApplicationContext(), "你按下了选项:" + index, 0).show(); } }); } /** * 将图标图片和图标名称存入ArrayList中 * * @return */ private List<Map<String, Object>> getData() { List<Map<String, Object>> items = new ArrayList<Map<String, Object>>(); int[] listImg = new int[] { R.drawable.browser, R.drawable.email, R.drawable.camera, R.drawable.clock, R.drawable.contacts, R.drawable.gallery, R.drawable.gmail, R.drawable.gtalk, R.drawable.maps, R.drawable.market, R.drawable.messages, R.drawable.phone, R.drawable.voice, R.drawable.music, R.drawable.calender }; String[] listName = new String[] { "九宫blue", "九宫email", "九宫firfox", "九宫gongju", "九宫heguo", "九宫kaiguan", "九宫letv", "九宫libray", "九宫list", "九宫luxiang", "九宫main", "九宫ooo", "九宫twite", "九宫voda", "九宫wifi" }; for (int i = 0; i < listImg.length; i++) { Map<String, Object> item = new HashMap<String, Object>(); item.put("itemImage", listImg[i]); item.put("itemName", listName[i]); items.add(item); } return items; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } 运行效果: 图片资源下载 运行的时候报错: 81000-byte external allocation too large for this process. VM won't let us allocate 81000bytes Google后得到信息是Android的Dalvik VM为一个应用提供了大约16MB的内存,一般我们处理超过8MB的图片将会出现OutOfMemoryError异常(内存溢出异常) 其中一个方法:http://stackoverflow.com/questions/8250704/external-allocation-too-large-for-this-process 在网上找了一下,参考网友的方法,通常的原因就是我们加载的图片太大,我看了一下我的图片,用500W像素的Defy拍的,原始大小一般都在800KB左右,这样大的图片才导致了内存泄露,网上大神们给的通常的解决方法是,用BitmapFactory解码时加上设置好的options指令(我就是没用options),通常Options如下设定: BitmapFactory.Options options=new Options(); options.inDither=false; /*不进行图片抖动处理*/ options.inPreferredConfig=null; /*设置让解码器以最佳方式解码*/ options.inSampleSize=4; /*图片长宽方向缩小倍数*/ Bitmapimg=BitmapFactory.decodeByteArray(buffer, 0, buffer.length, options); 这样修改后,我发现传到手机上的图片一般都是200KB左右了,即缩小为原来的1/4,而且看起来还行,没怎么失真,几乎不影响观看效果,问题也解决了~ 对了,最好在你使用完Bitmap之后,调用一下recycle()方法,这样更有利于内存回收。 我此处用到的图片都是80KB以上的,存在drawable文件夹中,直接用R.drawable.来调用,没用到Bitmap ,因此只能缩小图片大小。 本文转自欢醉博客园博客,原文链接http://www.cnblogs.com/zhangs1986/p/3619086.html如需转载请自行联系原作者 欢醉

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册