GalleryView

简介: 引用:http://blog.csdn.net/flowingflying/article/details/6274208 LogCat调测信息 在Window -> Show View -> Other.

引用:http://blog.csdn.net/flowingflying/article/details/6274208

LogCat调测信息

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

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

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

GalleyView

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

1)Android XML文件

<?xml version="1.0" encoding="utf-8"?>
<Gallery  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/gallery"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content">
 </Gallery>

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

2)Java源代码

public class Chapter7Test8 extends Activity {
    @Override 
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.chapter_7_test8);

        //步骤1:和之前学习的一样,设置adapter来描述item的内容以及设置item的格式;通过setOnItemClickListener()设置点击触发的操作。 
        Gallery gallery = (Gallery)findViewById(R.id.gallery);
        gallery.setAdapter (new ImageAdapter (this));
        gallery.setOnItemClickListener (new OnItemClickListener(){
            public void onItemClick(AdapterView<?> parent,View v,int position,long id){
                Toast.makeText(Chapter7Test8.this,""+position,Toast.LENGTH_SHORT).show();
            }
        }
 );
    }
    //步骤2:adapter继承BaseAdapter,具体描述item。需要创建构造函数,具体化getCount(), getItem(), getItemId(), getView()。 
    private class ImageAdapter extends BaseAdapter{
        private Context mContext;
        private Integer[] mImageIds = {  R.drawable.sample_1,  R.drawable.sample_2, R.drawable.sample_3,
                R.drawable.sample_4,  R.drawable.sample_5,  R.drawable.sample_6,
                R.drawable.sample_7 }; //我们将名称为drawable_sample_1的图片文件,拷贝到drawable/下面。 
        
        public ImageAdapter(Context context){
            mContext = context;
        }

        public int getCount() {
            return mImageIds.length;
        }

        public Object getItem(int position) {
            return position;
        }

        public long getItemId(int position) {
            return position;
        }
       //步骤3:每个item都是ImageView,通过setImageResource将图片呈现,设置每个item的大小,以及显示比例,这里,我们采用FIT_XY,根据X:Y将整个图片显示出来,如果X:Y和图片长:宽不一样,图片可能有些变形。 
        public View getView(int position, View convertView, ViewGroup parent) {
            ImageView image = new ImageView(mContext);
            image.setImageResource(mImageIds[position]);
            image.setLayoutParams(new Gallery.LayoutParams(150,100));
            image.setScaleType(ImageView.ScaleType.FIT_XY);
            return image;
        }   
    }
}

3)通过xml文件对item的格式进行设置

我们在res/values/下面增加一个xml文件,用于描述自定义widget的属性格式为

<resources>
    <declare-styleable name="XXXX">
        <attr name="AAAAA" format="BBBB" />
        <attr name="aaaaa" format="bbbb" />
    </declare-styleable>
</resources>

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

<resources>
    <declare-styleable name="HelloGallery">
        <attr name="android:galleryItemBackground" />
    </declare-styleable>
</resources>

获得自定义属性方式:

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

在这个例子中:

        public ImageAdapter(Context context){
            ... ...
            TypedArray a= 
context.obtainStyledAttributes(R.styleable.HelloGallery);

            mGalleryItemBackground = a.getResourceId(R.styleable.HelloGallery_android_galleryItemBackground , 0);
            a.recycle();
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            ... ... 
            image.setBackgroundResource (mGalleryItemBackground);
            ... ...
        }

目录
打赏
0
0
0
0
22
分享
相关文章
拼多多根据ID取商品详情原数据 API 实现实时数据获取的完整指南
在电商行业中,商品详情页是用户了解商品信息、进行购买决策的重要页面。为了提高用户体验和促进销售,电商平台通常会提供商品详情的API接口,以便第三方应用能够实时获取商品数据。本文将介绍如何使用拼多多获得的根据ID取商品详情原数据的API实现实时数据获取,并提供相应的代码示例。
|
7月前
|
数据结构和算法学习记录——时间复杂度的计算(嵌套循环、大O的渐进表示法、双重循环、常数循环、strchr、冒泡排序、二分查找、斐波那契数列递归)
数据结构和算法学习记录——时间复杂度的计算(嵌套循环、大O的渐进表示法、双重循环、常数循环、strchr、冒泡排序、二分查找、斐波那契数列递归)
536 1
人工智能的发展方向有哪些?
【5月更文挑战第17天】人工智能的发展方向有哪些?
225 3
计算机组成原理实验一:运算器组成的实验
本篇博文主要是讲述一下计算机组成原理实验中运算器组成的实验,因为很多同学在刚学习计算机组成原理实验的时候对于调试的一些步骤还是有些懵懵懂懂,每个步骤之间的连接做的不是很连贯,故有了写此篇博文的初衷,笔者会在近期分享计算机组成原理实验的五个实验,希望对有学习此课程的同学能够有一些帮助!
561 2
计算机组成原理实验一:运算器组成的实验
解决办法:error: ‘unordered_map’ in namespace ‘std’ does not name a template type
解决办法:error: ‘unordered_map’ in namespace ‘std’ does not name a template type
570 0
Photoshop - 教您怎样对扫描文件去除底色?
Photoshop - 教您怎样对扫描文件去除底色?
843 0
Photoshop - 教您怎样对扫描文件去除底色?
【一键启用】库存管理|告别库存管理难题
库存管理是一款集仓库、库存一体化管理的模板,帮助企业实现出入库快速查询,灵活控制货品进出业务,适用于制造、食品、服装、电子、美妆等行业。
【一键启用】库存管理|告别库存管理难题
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等