概述
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仿微信头像放大效果所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复