Android一个小的浏览资源效果
创始人
2024-07-30 09:51:46
0

LogCat调测信息

在Window -> Show View -> Other... -> Android -> LogCat,这样将显示LogCat的窗口,对于System.out.print()以及Log.d(),可以打印出我们所需要的信息,例如:

  1. System.out.print("Hello ---------------------\n");   
  2. Log.d("WEI","Hi ------------------1-----------");   
  3. Log.d("WEI","Hi -------------------2----------"); 

这样,我们在LogCat的查窗口,可以看到相关的信息:

效果图

GalleyView 
 
Galley是画廊的意思,一般只在图片显示中使用,而且也不常用。

1)Android XML文件

Java代码:

  1.  
  2. android:id="@+id/gallery" 
  3. android:layout_width="fill_parent" 
  4. android:layout_height="wrap_content"> 
  5.  

由于Galley用户处理图片,因此处理item可采用ImageView,在设置adapter中,我们可以参见《Android 学习笔记(十三):Activity-GridView 》中对BaseAdapter进行继承。

2)Java源代码

Java代码:

  1. public class Chapter7Test8 extends Activity {  
  2. @Override   
  3. protected void onCreate(Bundle savedInstanceState) {  
  4. super.onCreate(savedInstanceState);  
  5. setContentView(R.layout.chapter_7_test8);   
  6. //步骤1:和之前学习的一样,设置adapter来描述item的内容以及设置item的格式;通过setOnItemClickListener()设置点击触发的操作。   
  7. Gallery gallery = (Gallery)findViewById(R.id.gallery);  
  8. gallery.setAdapter (new ImageAdapter (this));  
  9. gallery.setOnItemClickListener (new OnItemClickListener(){  
  10. public void onItemClick(AdapterView parent,View v,int position,long id){  
  11. Toast.makeText(Chapter7Test8.this,""+position,Toast.LENGTH_SHORT).show();  
  12. }  
  13. } );  
  14. }  
  15.  
  16. //步骤2:adapter继承BaseAdapter,具体描述item。需要创建构造函数,具体化getCount(), getItem(), getItemId(), getView()。   
  17. private class ImageAdapter extends BaseAdapter{  
  18. private Context mContext;  
  19. private Integer[] mImageIds = { R.drawable.sample_1, R.drawable.sample_2, R.drawable.sample_3,  
  20. R.drawable.sample_4, R.drawable.sample_5, R.drawable.sample_6,  
  21. R.drawable.sample_7 }; //我们将名称为drawable_sample_1的图片文件,拷贝到drawable/下面。   
  22. public ImageAdapter(Context context){  
  23. mContext = context;  
  24. }  
  25. public int getCount() {  
  26. return mImageIds.length;  
  27. }  
  28. public Object getItem(int position) {  
  29. return position;  
  30. }  
  31. public long getItemId(int position) {  
  32. return position;  
  33. }  
  34. //步骤3:每个item都是ImageView,通过setImageResource将图片呈现,设置每个item的大小,以及显示比例,这里,我们采用FIT_XY,根据X:Y将整个图片显示出来,如果X:Y和图片长:宽不一样,图片可能有些变形。   
  35. public View getView(int position, View convertView, ViewGroup parent) {  
  36. ImageView image = new ImageView(mContext);  
  37. image.setImageResource(mImageIds[position]);  
  38. image.setLayoutParams(new Gallery.LayoutParams(150,100));  
  39. image.setScaleType(ImageView.ScaleType.FIT_XY);  
  40. return image;  
  41. }   
  42. }  
  43. }  
  44. 3)通过xml文件对item的格式进行设置   
  45. 我们在res/values/下面增加一个xml文件,用于描述自定义widget的属性格式为  
  46. Java代码:  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  

在R.java中将增加int R.styleable.XXXX[]来表示此定义,如果里面有2个属性,则有两个元素。在本例,设置style的属性,我们设置一个android已定义的属性galleryItembackground,它定义一个具有一个边框的gallery的item。如下:

Java代码:

  1.  
  2.  
  3.  
  4.  
  5.  

获得自定义属性方式:

Java代码:

  1. TypedArray a= obtainStyledAttributes (R.styleable.XXX /*int[]*/ );  
  2. aattrId = a.getResourceId (R.styleable.XXXX_AAAA,defaultId);//获得该属性的ID, 如果没有发现该属性,则返回defaultId的值。   
  3. a.recyle (),//在使用obtainStyledAttributes()后应调用,是的可以被系统重用。  

在这个例子中:

Java代码:

  1. public ImageAdapter(Context context){  
  2. TypedArray a= obtainStyledAttributes(R.styleable.HelloGallery);  
  3. mGalleryItemBackground = a.getResourceId(R.styleable.HelloGallery_android_galleryItemBackground , 0);  
  4. a.recycle();  
  5. }  
  6. public View getView(int position, View convertView, ViewGroup parent) {  
  7. image.setBackgroundResource (mGalleryItemBackground);  
  8. }  

 

【编辑推荐】

Android 开发简介 基于平台

Android开发:Activity之间的传值

Android开发:自定义GridView/ListView数据源

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...