Android 图片的放大与缩小、Glide实现图片圆角、圆形、高斯模糊等功能,图片3D倒影显示。

本文详细介绍了Android中如何实现图片的放大和缩小操作,利用Glide库创建图片的圆角、圆形展示及高斯模糊效果,并展示了如何实现图片的3D倒影显示,包括主要工具类和适配器的使用。
摘要由CSDN通过智能技术生成

一、图片的放大与缩小

1.图片实现缩放的Activcity

package com.ruidde.csndresourcedemo.enlargenarrow;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

import androidx.viewpager.widget.ViewPager;

import com.ruidde.csndresourcedemo.R;

public class FindDetailPhotoActivity extends Activity implements ViewPager.OnPageChangeListener {
   
   private ViewPager viewpager_individualphoto;
    private TextView tv_content;
    private int[] imgDate = new int[]{};
    private FindDetailPhotoAdapter adapter;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      // TODO Auto-generated method stub
      super.onCreate(savedInstanceState);
      setContentView(R.layout.find_detailphoto);
      findViewById();
      initViewDate();
      setInitView();
   }
   public void setInitView(){
      
      adapter = new FindDetailPhotoAdapter(this, imgDate);
//    adapter = new FindDetailPhotoAdapter(this);
      viewpager_individualphoto.setAdapter(adapter);
      viewpager_individualphoto.setOnPageChangeListener(this);
   }
   public void initViewDate(){
      Intent intent = getIntent();
      Bundle bundle = new Bundle();
      bundle = intent.getExtras();
      imgDate = bundle.getIntArray("imgDate");
      tv_content.setText(1 + "/" + imgDate.length);
   }
   public void findViewById(){
      tv_content = (TextView) findViewById(R.id.tv_content);
      viewpager_individualphoto = (ViewPager) findViewById(R.id.viewpager_individualphoto);
   }
   @Override
   public void onPageScrollStateChanged(int arg0) {
   }
   @Override
   public void onPageScrolled(int arg0, float arg1, int arg2) {
   }
   @Override
   public void onPageSelected(int position) {
      tv_content.setText((position+1)+"/" + imgDate.length);  
      
   }
}
package com.ruidde.csndresourcedemo.enlargenarrow;

import java.util.List;

import uk.co.senab.photoview.PhotoView;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;

import androidx.viewpager.widget.PagerAdapter;

public class FindDetailPhotoAdapter extends PagerAdapter {
   private int[] urls = new int[]{};
   private Context context;

   public FindDetailPhotoAdapter(Context context,int[] urls) {
      super();
      this.urls = urls;
      this.context = context;
   }

   @Override
   public int getCount() {
      // TODO Auto-generated method stub
      return urls == null ? 0 : urls.length;
   }

   @Override
   public boolean isViewFromObject(View arg0, Object arg1) {
      // TODO Auto-generated method stub
      return arg0 == arg1;
   }

   @Override
   public void destroyItem(ViewGroup container, int position, Object object) {
      container.removeView((View) object);

   }

   @Override
   public Object instantiateItem(ViewGroup container, int position) {

//    container.addView(views.get(position), 0);
//    return views.get(position);
      PhotoView photoView = new PhotoView(container.getContext());
//    String url = Config.PATH + urls.get(position);
//    AWonderBitmap aWonderBitmap=AWonderBitmap.create(container.getContext());
//    aWonderBitmap.display(photoView, url, BitmapFactory.decodeResource(context.getResources(), R.drawable.touxiang_img),
//    BitmapFactory.decodeResource(context.getResources(), R.drawable.touxiang_img));
      container.addView(photoView, LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
      photoView.setImageResource(urls[position]);
      return photoView;
      
   }

   @Override
   public void setPrimaryItem(ViewGroup container, int position, Object object) {
      // TODO Auto-generated method stub
      super.setPrimaryItem(container, position, object);
   }

}

package com.ruidde.csndresourcedemo.enlargenarrow;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;

import com.ruidde.csndresourcedemo.R;

public class ImageViewAdapter extends BaseAdapter {
   
   private Context context;
   private int[] imgDate = new int[]{};

   public ImageViewAdapter(Context context,int[] imgDate){
      this.context = context;
      this.imgDate = imgDate;
   }
   
   @Override
   public int getCount() {
      // TODO Auto-generated method stub
      return imgDate.length;
   }

   @Override
   public Object getItem(int position) {
      // TODO Auto-generated method stub
      return
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yyxhzdm

你的鼓励是我创作的最大动力!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值