Gallery事例

本文详细介绍了Gallery组件的使用,从基本设置到高级功能,包括图片浏览、滑动效果和自定义布局等方面,帮助开发者更好地在项目中实现图片展示功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


页面布局content_main.xml
<? xml version= "1.0" encoding= "utf-8" ?>
<LinearLayout xmlns: android ="http://schemas.android.com/apk/res/android"
    android :orientation= "vertical"
    android :layout_width= "match_parent"
    android :layout_height= "match_parent"
    >
    <!--定义一个ImageView组件-->
    <ImageView
        android :id= "@+id/imageView"
        android :layout_width= "320dp"
        android :layout_height= "320dp"
        />
    <!--定义一个Gallery组件-->
    <!-- android:unselectedAlpha="0.6" 为没有选中的图片的透明度 -->
    <Gallery
        android :id= "@+id/gallery"
        android :layout_width= "match_parent"
        android :layout_height= "wrap_content"
        android :layout_marginTop= "25dp"
        android :unselectedAlpha= "0.6"
        android :spacing= "2pt"
        />
</<span style="font-family: Arial, Helvetica, sans-serif;">LinearLayout</span><span style="font-family: Arial, Helvetica, sans-serif;">></span>


用BaseAdapter将图片显示在布局上
package com.eson.gallery ;

import android.os.Bundle ;
import android.support.v7.app.AppCompatActivity ;
import android.view.View ;
import android.view.ViewGroup ;
import android.widget.AdapterView ;
import android.widget.BaseAdapter ;
import android.widget.Gallery ;
import android.widget.ImageView ;

public class GalleryTest extends AppCompatActivity {

    int [] imageIds= new int []{

            R.drawable. img1, R.drawable. img2, R.drawable. img3, R.drawable. img4,
            R.drawable. img5 ,R.drawable. img6 ,R.drawable. img7 ,R.drawable. img8 ,
            R.drawable. img9 ,R.drawable. img10 ,R.drawable. img11 ,R.drawable. img12 ,
    } ;
    private Gallery gallery ;
    private ImageView imageView ;

    @Override
    protected void onCreate (Bundle savedInstanceState) {
        super .onCreate(savedInstanceState) ;
        setContentView(R.layout. activity_main );
        gallery = (Gallery) findViewById(R.id. gallery );
        //获取显示图片的ImageView对象
        imageView = (ImageView) findViewById(R.id. imageView );
        BaseAdapter adapter= new BaseAdapter() {
            @Override
            public int getCount () {
                return imageIds . length;
            }

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

            @Override
            public long getItemId (int position) {
                return position ;
            }
           //该方法返回View代表了每个列表项
            @Override
            public View getView( int position, View convertView , ViewGroup parent) {
               //创建一个ImageView
                ImageView imageView = new ImageView(GalleryTest. this) ;
                imageView.setImageResource( imageIds[position]) ;
                //设置ImageView设置布局参数
                imageView.setLayoutParams( new Gallery.LayoutParams( 150 , 200 )) ;
                return imageView;
            }
        };
        gallery .setAdapter(adapter) ;
        gallery .setOnItemSelectedListener( new AdapterView.OnItemSelectedListener() {
            //当Gallery选项发生改变时触发该方法
            @Override
            public void onItemSelected (AdapterView<?> parent , View view , int position, long id) {
                imageView.setImageResource( imageIds [position]);

            }

            @Override
            public void onNothingSelected (AdapterView<?> parent) {

            }
        });

    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值