SHOW:
|
|
- or go back to the newest paste.
1 | ||
2 | ||
3 | - | import ru.customcomponents.FastBlur; |
3 | + | |
4 | - | import ru.customcomponents.deletoutofmemory.RecyclingBitmapDrawable; |
4 | + | |
5 | - | import ru.donstroy.parusamobile.MainActivity; |
5 | + | |
6 | - | import ru.donstroy.parusamobile.R; |
6 | + | |
7 | - | import android.app.Activity; |
7 | + | |
8 | - | import android.content.Intent; |
8 | + | |
9 | - | import android.graphics.Bitmap; |
9 | + | |
10 | - | import android.graphics.BitmapFactory; |
10 | + | |
11 | - | import android.graphics.Canvas; |
11 | + | |
12 | - | import android.graphics.Paint; |
12 | + | |
13 | - | import android.graphics.drawable.BitmapDrawable; |
13 | + | |
14 | - | import android.graphics.drawable.Drawable; |
14 | + | |
15 | - | import android.graphics.drawable.LayerDrawable; |
15 | + | |
16 | - | import android.os.Bundle; |
16 | + | |
17 | - | import android.view.View; |
17 | + | |
18 | - | import android.view.ViewGroup.LayoutParams; |
18 | + | |
19 | - | import android.view.ViewTreeObserver; |
19 | + | |
20 | - | import android.widget.AbsListView.RecyclerListener; |
20 | + | |
21 | - | import android.widget.AdapterView; |
21 | + | |
22 | - | import android.widget.Gallery; |
22 | + | |
23 | - | import android.widget.ImageButton; |
23 | + | |
24 | - | import android.widget.ImageView; |
24 | + | |
25 | - | import android.widget.LinearLayout; |
25 | + | |
26 | - | import android.widget.TextView; |
26 | + | |
27 | ||
28 | leftImage.setImageBitmap(BitmapFactory.decodeResource(MainActivity.resourcesApp, R.drawable.pattern)); | |
29 | ||
30 | ||
31 | ||
32 | gallery.setAdapter(new GalleryAdapter(this)); | |
33 | ||
34 | ||
35 | picture.setImageBitmap(GalleryAdapter.decodeSampledBitmapFromResource(MainActivity.resourcesApp,DataImg[0], MainActivity.WidthSreenSize, MainActivity.HightSreenSize)); | |
36 | ||
37 | gallery.setSelection(6); | |
38 | ||
39 | hide.setOnClickListener(new View.OnClickListener() { | |
40 | ||
41 | @Override | |
42 | public void onClick(View v) { | |
43 | if(hideShow){ | |
44 | description.setText(""); | |
45 | description.setBackgroundDrawable(null); | |
46 | applyBlur(hide,picture); | |
47 | hide.setImageResource(R.drawable.button_show); | |
48 | hideShow=false; | |
49 | applyBlur(rightImage,leftImage); | |
50 | } | |
51 | else{ | |
52 | ||
53 | applyBlur(description,picture); | |
54 | description.setText("Привет мир!!"); | |
55 | hide.setImageResource(R.drawable.button_hide); | |
56 | hide.setBackgroundDrawable(null); | |
57 | hideShow=true; | |
58 | } | |
59 | } | |
60 | }); | |
61 | ||
62 | gallery.setOnItemClickListener(new AdapterView.OnItemClickListener() { | |
63 | @Override | |
64 | public void onItemClick(AdapterView<?> parent, View v,int position, long id) { | |
65 | try{ | |
66 | ||
67 | if(hideShow){ | |
68 | applyBlur(description,picture); | |
69 | } | |
70 | else{ | |
71 | applyBlur(hide,picture); | |
72 | } | |
73 | picture.setImageBitmap(GalleryAdapter.decodeSampledBitmapFromResource(MainActivity.resourcesApp, DataImg[position], MainActivity.WidthSreenSize, MainActivity.HightSreenSize)); | |
74 | ||
75 | ||
76 | } | |
77 | catch(Exception e){ | |
78 | e.printStackTrace(); | |
79 | } | |
80 | } | |
81 | }); | |
82 | applyBlur(description,picture); | |
83 | leftImage.post(setBlur); | |
84 | ||
85 | } | |
86 | ||
87 | public void applyBlur(final View view,final View image) { | |
88 | image.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { | |
89 | @Override | |
90 | public boolean onPreDraw() { | |
91 | image.getViewTreeObserver().removeOnPreDrawListener(this); | |
92 | image.buildDrawingCache(); | |
93 | ||
94 | Bitmap bmp = image.getDrawingCache(); | |
95 | ||
96 | view.setBackgroundDrawable(new BitmapDrawable(MainActivity.resourcesApp, blur(bmp, view))); | |
97 | bmp.recycle(); | |
98 | return true; | |
99 | ||
100 | } | |
101 | }); | |
102 | //if(view.getBackground()!=null){ | |
103 | // leftImage.setImageDrawable(rightImage.getBackground()); | |
104 | // } | |
105 | } | |
106 | private Bitmap blur(Bitmap bkg, View view) { | |
107 | ||
108 | float scaleFactor = 8; | |
109 | float radius = 20; | |
110 | ||
111 | ||
112 | Bitmap overlay = Bitmap.createBitmap((int) (view.getMeasuredWidth()), | |
113 | (int) (view.getMeasuredHeight()), Bitmap.Config.ARGB_8888); | |
114 | Canvas canvas = new Canvas(overlay); | |
115 | canvas.translate(-view.getLeft()+15, -view.getTop()); | |
116 | canvas.drawBitmap(bkg, 0, 0, null); | |
117 | overlay = FastBlur.doBlur(overlay, (int)radius, true); | |
118 | ||
119 | ||
120 | return overlay; | |
121 | ||
122 | } | |
123 | ||
124 | Runnable setBlur= new Runnable() { | |
125 | @Override | |
126 | public void run() { | |
127 | ||
128 | applyBlur(rightImage,leftImage); | |
129 | ||
130 | ||
131 | }}; | |
132 | ||
133 | private void setDataImage(){ | |
134 | Intent intent = getIntent(); | |
135 | int index = intent.getIntExtra(MediaActivity.EXTRA_MESSAGE, 1); | |
136 | ||
137 | switch(index){ | |
138 | case 1: | |
139 | DataImg = new int [25]; | |
140 | DataText= new int [DataImg.length]; | |
141 | DataImg[0]=R.drawable.arhitektura_01; | |
142 | DataImg[1]=R.drawable.arhitektura_02; | |
143 | DataImg[2]=R.drawable.arhitektura_03; | |
144 | DataImg[3]=R.drawable.arhitektura_04; | |
145 | DataImg[4]=R.drawable.arhitektura_05; | |
146 | DataImg[5]=R.drawable.arhitektura_06; | |
147 | DataImg[6]=R.drawable.arhitektura_07; | |
148 | DataImg[7]=R.drawable.arhitektura_17; | |
149 | DataImg[8]=R.drawable.arhitektura_18; | |
150 | DataImg[9]=R.drawable.arhitektura_19; | |
151 | DataImg[10]=R.drawable.arhitektura_20; | |
152 | DataImg[11]=R.drawable.arhitektura_21; | |
153 | DataImg[12]=R.drawable.arhitektura_22; | |
154 | DataImg[13]=R.drawable.arhitektura_23; | |
155 | DataImg[14]=R.drawable.arhitektura_26; | |
156 | DataImg[15]=R.drawable.arhitektura_27; | |
157 | DataImg[16]=R.drawable.arhitektura_28; | |
158 | DataImg[17]=R.drawable.arhitektura_31; | |
159 | DataImg[18]=R.drawable.arhitektura_32; | |
160 | DataImg[19]=R.drawable.arhitektura_35; | |
161 | DataImg[20]=R.drawable.arhitektura_36; | |
162 | DataImg[21]=R.drawable.arhitektura_37; | |
163 | DataImg[22]=R.drawable.arhitektura_38; | |
164 | DataImg[23]=R.drawable.arhitektura_42; | |
165 | DataImg[24]=R.drawable.arhitektura_45; | |
166 | ||
167 | break; | |
168 | case 2: | |
169 | DataImg = new int [8]; | |
170 | DataText= new int [DataImg.length]; | |
171 | DataImg[0]=R.drawable.interjeri_09; | |
172 | DataImg[1]=R.drawable.interjeri_10; | |
173 | DataImg[2]=R.drawable.interjeri_11 ; | |
174 | DataImg[3]=R.drawable.interjeri_12; | |
175 | DataImg[4]=R.drawable.interjeri_13; | |
176 | DataImg[5]=R.drawable.interjeri_14; | |
177 | DataImg[6]=R.drawable.interjeri_15; | |
178 | DataImg[7]=R.drawable.interjeri_16; | |
179 | break; | |
180 | case 3: | |
181 | DataImg = new int [21]; | |
182 | DataText= new int [DataImg.length]; | |
183 | DataImg[0]=R.drawable.inftrastruktura_08; | |
184 | DataImg[1]=R.drawable.inftrastruktura_24; | |
185 | DataImg[2]=R.drawable.inftrastruktura_25; | |
186 | DataImg[3]=R.drawable.inftrastruktura_29; | |
187 | DataImg[4]=R.drawable.inftrastruktura_30; | |
188 | DataImg[5]=R.drawable.inftrastruktura_33; | |
189 | DataImg[6]=R.drawable.inftrastruktura_34; | |
190 | DataImg[7]=R.drawable.inftrastruktura_39; | |
191 | DataImg[8]=R.drawable.inftrastruktura_40; | |
192 | DataImg[9]=R.drawable.inftrastruktura_41; | |
193 | DataImg[10]=R.drawable.inftrastruktura_43; | |
194 | DataImg[11]=R.drawable.inftrastruktura_44; | |
195 | DataImg[12]=R.drawable.inftrastruktura_46; | |
196 | DataImg[13]=R.drawable.inftrastruktura_47; | |
197 | DataImg[14]=R.drawable.inftrastruktura_48; | |
198 | DataImg[15]=R.drawable.inftrastruktura_49; | |
199 | DataImg[16]=R.drawable.inftrastruktura_50; | |
200 | DataImg[17]=R.drawable.inftrastruktura_51; | |
201 | DataImg[18]=R.drawable.inftrastruktura_52; | |
202 | DataImg[19]=R.drawable.inftrastruktura_53; | |
203 | DataImg[20]=R.drawable.inftrastruktura_54; | |
204 | ||
205 | ||
206 | ||
207 | break; | |
208 | } | |
209 | ||
210 | } | |
211 | ||
212 | @Override | |
213 | protected void onDestroy() { | |
214 | ||
215 | ||
216 | super.onDestroy(); | |
217 | } | |
218 | ||
219 | } |