Android 画廊 重叠(gallery是什么)

mainActiviypackagecom.example.mygallary;importandroid.app.Activity;importandroid.content.Context;importandroid.content.res.TypedArray;importandroid.os.Bundle;importandroid.view.Menu;imp

大家好,又见面了,我是你们的朋友全栈君。

mainActiviy

package com.example.mygallary;

import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;

public class MainActivity extends Activity {
	Gallery gal;
    @Override
    public void onCreate(Bundle savedInstanceState) {
    	

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ImageAdapter adapter=new ImageAdapter(this);
        gal=(Gallery)findViewById(R.id.gal);
        gal.setAdapter(adapter);
        gal.setSelection(Integer.MAX_VALUE/2);
        
        
        
        
    }
    
    public  class  ImageAdapter  extends BaseAdapter{
    	Context context=null;
    	int mGalleryItemBackground;
    	public ImageAdapter(Context context){
    		this.context=context;
  	TypedArray a = obtainStyledAttributes(R.styleable.HelloGallery);//加载资源文件
    		 mGalleryItemBackground = a.getResourceId(
    		 R.styleable.HelloGallery_android_galleryItemBackground, 0);//设置Gallery的背景布局
    		                 a.recycle();
    	}
    	
		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return Integer.MAX_VALUE;
		}
		int ids[]={R.drawable.s1,R.drawable.s2,R.drawable.s3,R.drawable.s4,R.drawable.s5,R.drawable.s6};

		@Override
		public Object getItem(int position) {
			// TODO Auto-generated method stub
			return ids[position%6];
		}

		@Override
		public long getItemId(int position) {
			// TODO Auto-generated method stub
			return position%6;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {

			ImageView imageView=null;
			if(convertView==null){
				imageView=new ImageView(context);
				convertView=imageView;
			}
			imageView.setImageResource(ids[position%6]);
			imageView.setBackgroundResource(mGalleryItemBackground);
			imageView.setLayoutParams(new Gallery.LayoutParams(260,220));
			imageView.setScaleType(ImageView.ScaleType.FIT_XY);
			return imageView;
		}
    	
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

 values 包下attr.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <declare-styleable name="HelloGallery">
     <attr name="android:galleryItemBackground" />
   </declare-styleable>
</resources>

drawable包下6张图片S1 S2…

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129017.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【《重构 改善既有代码的设计》学习笔记1】重构:第一个案例「建议收藏」

    【《重构 改善既有代码的设计》学习笔记】重构:第一个案例本篇文章的内容来自《重构 改善既有代码的设计》一书学习笔记整理笔记并且加上自己的浅显的思考总结!一、简单的例子一个影片出租店用的程序,计算每一位顾客的消费金额,并打印详单。详单打印 顾客租了哪些影片、租期多长,影片类型 、单个影片费用、总费用 。 除了费用外,还要计算顾客的积分,不同种类租片积分不同。注:影片为为三类:普通片、儿…

    2022年2月27日
    47
  • 国外破解网站大全

    国外破解网站大全国外破解网站大全http://www.cracks.am(出名破解网站之一,包含各类型破解软件,注冊机等等,更新速度极快)推荐http://cracks.lomalka.ru(一个破解软件,注冊机网站,更新速度快)http://www.crackway.com(一个破解,注冊机网站,更新速度一般)http://cracks4u.us(一个破解软件,注冊机,注冊码储存网站,

    2022年6月3日
    58
  • win10 专业工作站 激活码_通用破解码

    win10 专业工作站 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    205
  • 07 技术扩展-软件工程Server服务器知识点[通俗易懂]

    07 技术扩展-软件工程Server服务器知识点[通俗易懂]Web项目中的服务器一、Server概述为客户端提供各种服务的功能强大的计算机二、访问服务器服务器的地址—-域名/IP地址对应服务端口服务所用协议—-http/httpshttps://www.baidu.com:80/协议://域名:端口号/三、访问本地服务安装node.jsDOS命令窗口cddesktop/indexDOS命令…

    2025年9月18日
    4
  • c语言实现约瑟夫环

    c语言实现约瑟夫环一般有循环链表和数组模拟两种方式 貌似还有递归实现的呢 这里主要介绍数组模拟方式 一 最简单的约瑟夫环问题约瑟夫环是一个数学的应用问题 已知 n 个人 以编号 1 2 3 n 分别表示 围坐在一张圆桌周围 从编号为 1 的人开始报数 数到 m 的那个人出列 他的下一个人又从 1 开始报数 数到 m 的那个人又出列 依此规律重复下去 直到圆桌周围的人全部出列 如果用数组模拟这个过程 就要考

    2025年11月23日
    3
  • js 字符串截取方法汇总

    js 字符串截取方法汇总一、使用slice()截取1,函数说明slice()方法可通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分。语法如下:string.slice(start,end);start(必需):规定从何处开始选取。如果是负数,那么它规定从字符串尾部开始算起的位置。也就是说,-1指最后一个字符,-2指倒数第二个字符,以此类推。参数说明:end(可选):规定从何处结束选取,即结束处的字符下标。如果没有指定该参数,那么截取的字符串包含从start到结束的所…

    2022年6月11日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号