我是靠谱客的博主 超帅眼睛,最近开发中收集的这篇文章主要介绍Android仿微信头像放大效果,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

android仿微信头像放大效果,使用Dialog+Gallery 实现


1.  dialog显示时的动画style,动画可以自己根据喜好自己设置,此处动画xml省略

<style name="Animstyle" parent="@android:style/Animation">
         <item name="android:windowEnterAnimation">@anim/head_in</item>
           <item name="android:windowExitAnimation">@anim/head_out</item>
       </style> 

2.  设置dialog的样式,在res/values/style.xml文件中定义样式

      <style name="imageScaleDialog" parent="android:Theme.Black.NoTitleBar">
        <item name="android:windowAnimationStyle">@style/Animstyle</item>  <!-- dialog显示时的动画 -->
        <item name="android:windowNoTitle">true</item>
        <!-- 无标题 -->
        <item name="android:windowFullscreen">true</item>
        <!-- 设置全屏显示 -->
        <item name="android:windowFrame">@null</item>
        <!-- 边框 -->
        <item name="android:windowIsFloating">false</item>
        <!-- 是否浮现在activity之上 -->
        <item name="android:windowIsTranslucent">true</item>
        <!-- 半透明 -->
        <item name="android:windowBackground">@android:color/black</item>
        <item name="android:backgroundDimEnabled">false</item>
        <!-- 模糊 -->
     </style>

3.   Activity类中创建Dilaog以及Gallery(可以使用布局文件处理)

        public   void   imageScaleDialog(){

                imgDialog = new Dialog(this,R.style.ImageScale);
                LinearLayout l = new LinearLayout(this);
                Gallery g = new Gallery(this);
                 l.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
                g.setLayoutParams(new Gallery.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
                g.setSpacing(35);
                g.setOnItemClickListener(new OnItemClickListener() {
                     @Override
                     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
                                 imgDialog.dismiss();

                      }
                 });
                  imgDialog.setCancelable(true);
                  imgDialog.setContentView(l);
                  imgDialog.show();
                  l.addView(g);

               // 图片数据处理
               imgList = Utils.getSDImageList();
               Bitmap bitmap = null;
               bitmapList = new ArrayList<Bitmap>();
               int currentItem = 0;
               for (int i = 0; i < imgList.size(); i++) {
                       if(imgList.get(i).equals("carddoctor.jpg"))
                             currentItem = i;
                       bitmap = BitmapFactory.decodeFile(Constants.SD_PATH + "/"+ imgList.get(i));
                       bitmapList.add(bitmap);
               }

              // -------------------------------------------------------
             GalleryAdapter adapter = new GalleryAdapter();   
             g.setAdapter(adapter);
             g.setSelection(currentItem);

       }

效果如图:




最后

以上就是超帅眼睛为你收集整理的Android仿微信头像放大效果的全部内容,希望文章能够帮你解决Android仿微信头像放大效果所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部