在AndroidManifest配置
复制代码
1
2
3
4
5
6
7
8
9
10
11<activity android:name=".ui.RealShowImageActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@style/IMTheme.Transparent" android:exported="true" android:screenOrientation="portrait"/>
复制代码
1
复制代码
1接着在styles.xml中设置
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15复制代码<style name="IMTheme.Basic" parent="android:Theme.Translucent"> <item name="android:windowNoTitle">true</item> <item name="android:windowContentOverlay">@null</item> </style> <style name="IMTheme.Transparent" parent="@style/IMTheme.Basic"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsTranslucent">true</item> </style>复制代码点击图片时
复制代码
1
2
3
4
5
6
7
8Bundle bundle = new Bundle(); int[] location = new int[2]; imageView.getLocationOnScreen(location);//imageView要放大的图片 bundle.putInt("locationX", location[0]); bundle.putInt("locationY", location[1]); bundle.putInt("height", imageView.getHeight()); bundle.putInt("width", imageView.getWidth()); bundle.putString("url",items.getPicture());//图片的url
复制代码
1复制代码Intent intent = new Intent(MainActivity.this,RealShowImageActivity.class);
复制代码复制代码intent.putExtras(bundle);
复制代码overridePendingTransition(0, 0);startActivity(intent);
复制代码
1RealShowImageActivity
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88public class RealShowImageActivity extends BaseActivity { private int mLocationX; private int mLocationY; private int mWidth; private int mHeight; SmoothImageView imageView = null; String url; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mLocationX = getIntent().getIntExtra("locationX", 0); mLocationY = getIntent().getIntExtra("locationY", 0); mWidth = getIntent().getIntExtra("width", 0); mHeight = getIntent().getIntExtra("height", 0); url = getIntent().getStringExtra("url"); imageView = new SmoothImageView(this); imageView.setOriginalInfo(mWidth, mHeight, mLocationX, mLocationY); imageView.transformIn(); imageView.setLayoutParams(new ViewGroup.LayoutParams(-1, -1)); imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); setContentView(imageView); ImageLoader imageLoader = TakeOutVolley.getImageLoader(); try { imageLoader.get(url, com.android.volley.toolbox.ImageLoader.getImageListener(imageView, R.drawable.icon_caipin, R.drawable.icon_caipin)); } catch (OutOfMemoryError o) { imageView.setBackgroundResource(R.drawable.icon_caipin); } } @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub onBackPressed(); return true; } @Override protected void onPause() { super.onPause(); if (isFinishing()) { overridePendingTransition(0, 0); } } @Override public void onBackPressed() { imageView.setOnTransformListener(new SmoothImageView.TransformListener() { @Override public void onTransformComplete(int mode) { if (mode == 2) { finish(); } } }); imageView.transformOut(); } }
最后
以上就是机智草莓最近收集整理的关于Android 图片放大显示的全部内容,更多相关Android内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复