рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ Android рдмрд┐рдЯрдореИрдк рдЕрдиреБрднрд╡



рдЗрддрдиреЗ рд╕рдордп рдкрд╣рд▓реЗ, рдбреНрдпреВрдЯреА рдкрд░, рдореБрдЭреЗ рдПрдХ рдХрд╛рдо рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдерд╛: рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдпрд░ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдФрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдФрд░ рдпрджрд┐ рдЖрдк рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдФрд░ рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рд╕рд╣рдиреАрдп рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рд╡реНрдпрд╡рд╕рд╛рдп рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдХреБрдЫ рдЙрддреНрд╕рд╛рд╣ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдзреНрдпрд╛рди рд╕реЗ рд╕реЛрдЪрдирд╛ рд╣реЛрдЧрд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдЯреЙрдХ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рддрддреНрд╡ рдерд╛ рдЬреИрд╕реЗ рдХрд┐ рд░рд╛рдЧ рдХреЗ рдПрд▓реНрдмрдо рдХрд╡рд░ рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░ред рдпрд╣ рд╡рд╣ рдерд╛ рдЬрд┐рд╕реЗ рдкреВрд░реА рддрд╕реНрд╡реАрд░ рдореЗрдВ рд░рдВрдЧ рдЬреЛрдбрд╝рдирд╛ рдерд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдмрд╕ рдмрдЯрди рдФрд░ рд╢рд┐рд▓рд╛рд▓реЗрдЦреЛрдВ рдХреЗ рдмреАрдЪ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХрд╡рд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдЪрд┐рдкрдХрд╛рдП рдЧрдП рдПрдХ рдкреЗрдкрд░ рд╕реНрдЯрд┐рдХрд░ рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдЖрдк рдпрд╣рд╛рдБ рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред



рдХреНрдпрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХрд╡рд░ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрд┐рдВрдм рдФрд░ рдЫрд╛рдпрд╛ рдкреНрд░рднрд╛рд╡ рдмрдирд╛ред рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрд░рд╛ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдЙрд╕реЗ рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖рд╛ рдХреЗ рд▓реЗрдЦ рдореЗрдВ рдкрд╛рдпрд╛ред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рдмрд╕ рдЫрд╡рд┐ рдкрд░ рдХрд┐рдП рдЧрдП рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреА рдХреБрдЫ рд╕рдордЭ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдмрд┐рдЯрдореИрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреБрдЫ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЗрд╕рд▓рд┐рдП, рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рддрд╕реНрд╡реАрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд┐рдЯрдореИрдк рдерд╛ред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдореВрд▓ рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ рдПрдХ рдЦрд╛рд▓реА рдмрд┐рдЯрдореИрдк рдмрдирд╛рдпрд╛, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рдПрдХ рд╣реА рдХрд╡рд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдЫрд╛рдпрд╛ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред

width = sourceBitmap.getWidth(); height = sourceBitmap.getHeight(); Bitmap gradCover; try { gradCover = Bitmap.createBitmap(width, height, config); } catch (OutOfMemoryError e) { gradCover = null; }
      
      





рдпрд╣ рд╡рд┐рдзрд┐ рдПрдХ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрдиреАрдп (рдорд╣рддреНрд╡рдкреВрд░реНрдг) рдмрд┐рдЯрдореИрдк рдмрдирд╛рддреА рд╣реИред

рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдмрд┐рдЯрдореИрдкреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдореЗрдореЛрд░реА рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдореЙрдирд┐рдЯрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЖрдкрдХреЛ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдкрдХрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдПрдХ рдФрд░ рдмрд╛рдд: рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдПрдХ рдЕрдзреНрдпрдпрди рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдПрдХ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ createBitmap () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЧрддрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рддреЛ рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдВред



рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдПрдХ рдХреИрдирд╡рд╕ рдмрдирд╛рдпрд╛ рдФрд░ рдЙрд╕рдореЗрдВ рдореВрд▓ рдЫрд╡рд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред

 Canvas canvas = new Canvas(gradCover); canvas.drawBitmap(sourceBitmap, 0, 0, null); //Free up memory, associated with the original bitmap sourceBitmap.recycle();
      
      





рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдореЗрд╢рд╛, рдЬреИрд╕реЗ рд╣реА рдмрд┐рдЯрдореИрдк рдХреА рдЕрдм рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕реЗ рд░реАрд╕рд╛рдпрдХрд▓ () рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдореЗрдореЛрд░реА рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рд▓рд┐рдВрдХ рд╣реИ рдФрд░ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЫреЛрдЯрд╛ рджрд┐рдЦрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдореЗрдореЛрд░реА рд╡реНрдпрд╛рдкреНрдд рд╣реИ)ред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдореГрддрд┐ рд╕рдмрд╕реЗ inopportune рдХреНрд╖рдг рдореЗрдВ рдмрд╛рд╣рд░ рдЪрд▓рд╛рддрд╛ рд╣реИред



рд╕рднреА рддреИрдпрд╛рд░реА рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдХреИрдирд╡рд╛рд╕ рдкрд░ рдЫрд╛рдпрд╛ рдХреЗ рд╕рд╛рде рдкреЗрдВрдЯ рд▓рдЧрд╛рдпрд╛ред

 Paint paint = new Paint(); int[] colors = {0xffffffff, 0xffffffff, 0xb0c0c0c0, 0xb0c0c0c0}; float radius = (((float) width * (float) width) / 4 + (float) height * (float) height) / ((float) width); int fullRadius = (int) (1.92 * radius); float[] positions = {0, 0.499f, 0.511f, 1}; RadialGradient shader = new RadialGradient((width - radius), 0, fullRadius, colors, positions, Shader.TileMode.CLAMP); paint.setShader(shader); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN)); canvas.drawRect(0, 0, width, height, paint); int[] linColors = {0x00ffffff, 0xffffffff, 0xff000000, 0x00000000}; float[] linPositions = {0, 0.03f, 0.97f, 1}; LinearGradient vertical = new LinearGradient(0, 0, 0, height, linColors, linPositions, Shader.TileMode.CLAMP); paint.setShader(vertical); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN)); canvas.drawRect(0, 0, width, height, paint); LinearGradient horizontal = new LinearGradient(0, 0, width, 0, linColors, linPositions, Shader.TileMode.CLAMP); paint.setShader(horizontal); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN)); canvas.drawRect(0, 0, width, height, paint);
      
      





рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд░реЗрдбрд┐рдпрд▓рдЧреНрд░реИрдбрд┐рдПрдВрдЯ рдЫрд╡рд┐ рдХреЗ рдКрдкрд░реА рджрд╛рдПрдВ рдХреЛрдиреЗ рд╕реЗ рдирд┐рдЪрд▓реЗ рдЪреЗрд╣рд░реЗ рдХреЗ рдХреЗрдВрджреНрд░ рддрдХ рдЕрд░реНрдзрд╡реГрддреНрдд рдореЗрдВ рдЧрд┐рд░рдиреЗ рд╡рд╛рд▓реА рдЫрд╛рдпрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдЙрд╕реЗ рдХреЗрдВрджреНрд░ (рдЪрд┐рддреНрд░ рд╕реЗ рдкрд░реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ), рддреНрд░рд┐рдЬреНрдпрд╛, рд░рдВрдЧреЛрдВ рдХрд╛ рдХреНрд░рдо рдФрд░ рдХреЗрдВрджреНрд░ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рддреНрд░рд┐рдЬреНрдпрд╛ рдХреА рджреВрд░реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЫрд╛рдпрд╛ рдХреЗ рд▓рд┐рдП, рддреНрд░рд┐рдЬреНрдпрд╛ рдкрд░ рд░рдВрдЧреЛрдВ рдореЗрдВ рдЕрд▓реНрдлрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

LinearGradient рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрд┐рддреНрд░ рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдлреАрдХрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди RadialGradient рд╕реЗ рдмрд╣реБрдд рдорд┐рд▓рддрд╛-рдЬреБрд▓рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЙрд╕ рдкрдВрдХреНрддрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдЬрд╛рдПрдЧрд╛, рдЗрд╕ рд░реЗрдЦрд╛ рдкрд░ рд░рдВрдЧ рдФрд░ рдЙрдирдХреА рд╕реНрдерд┐рддрд┐ред



рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдмрд┐рдЯрдореИрдк рдерд╛ рдЬрд┐рд╕рдореЗрдВ gradBitmap рд▓рд╛рдЧреВ рдерд╛ред рдлрд┐рд░, рдПрдХ рдХреИрдирд╡рд╛рд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдПрдХ рдЦрд╛рд▓реА рдЫрд╡рд┐ рдмрдирд╛рдПрдВ (рдЗрд╕ рдмрд╛рд░ рдореВрд▓ рд╕реЗ рддреАрд╕рд░реА рдмрд╛рд░), рдЗрд╕реЗ рдХреИрдирд╡рд╛рд╕ рдкрд░ рд░рдЦреЗрдВ рдФрд░ рдЙрд╕рдХреЗ рдКрдкрд░ рдЫрд╛рдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд┐рдЯрдореИрдк рдбрд╛рд▓реЗрдВред

 Bitmap refCover = Bitmap.createBitmap(width, height + height / 3, Bitmap.Config.ARGB_8888); Canvas refCanvas = new Canvas(refCover); refCanvas.drawBitmap(gradCover, 0, 0, null);
      
      







рдереЛрдбрд╝реА рддреИрдпрд╛рд░реА рдХреЗ рдмрд╛рдж, рдордЬрд╝рд╛ рд╢реБрд░реВ рд╣реБрдЖред рдореИрдВрдиреЗ рдПрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╛рдпрд╛ рдЬреЛ рдЫрд╡рд┐ рдХреЛ рдиреАрдЪреЗ рд╕реЗ рдКрдкрд░ рдХреА рдУрд░ рдкреНрд░рд╡рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреА рдорджрдж рд╕реЗ, рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рдХреЗ рдПрдХ рддрд┐рд╣рд╛рдИ рд╣рд┐рд╕реНрд╕реЗ рд╕реЗ рдмрд┐рдЯрдореИрдк рдмрдирд╛рдпрд╛ рдФрд░ рдЗрд╕реЗ рдореВрд▓ рдЫрд╡рд┐ рдХреЗ рддрд╣рдд рдХреИрдирд╡рд╛рд╕ рдкрд░ рд░рдЦрд╛ред

 Matrix matrix = new Matrix(); matrix.preScale(1, -1); Bitmap reflectionImage = Bitmap.createBitmap(gradCover, 0, 2 * height / 3, width, height / 3, matrix, false); refCanvas.drawBitmap(reflectionImage, 0, height, null); reflectionImage.recycle();
      
      





рд╡реИрд╕реЗ, рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдиреЛрдЯ: рдмрд┐рдЯрдореИрдк рдХреНрд▓рд╛рд╕ рдореЗрдВ рдХрдИ рдХреНрд░рд┐рдПрдЯ рдмрд┐рдЯрдореИрдк рд╡рд┐рдзрд┐ рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкрд░рд╕реНрдкрд░ рдмрд┐рдЯрдореИрдк рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЖрдк рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд▓рд┐рдП рдмрд╛рдХреА рдЙрдирдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВред



рдФрд░ рдЕрдВрдд рдореЗрдВ, рдПрдХ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдкреНрд░рднрд╛рд╡ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рдврд╛рд▓ рд▓рд╛рдЧреВ рдХрд░рдирд╛ред

 Paint refPaint = new Paint(); LinearGradient refShader = new LinearGradient(0, height, 0, height + height / 3, 0xc0ffffff, 0x00ffffff, Shader.TileMode.CLAMP); refPaint.setShader(refShader); refPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN)); refCanvas.drawRect(0, height, width, refCover.getHeight() + height, refPaint);
      
      





рдкреЗрдВрдЯ рдХреЛ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╣реИред



рд╡рд╣ рд╕рдм рд╣реИред рдореБрдЭреЗ рд░рд┐рдлрд╛рдЗрдирд░реА рдорд┐рд▓реА - рдмрд┐рдЯрдореИрдк, рдЬреЛ рдЫрд╛рдпрд╛, рдЪрд┐рдХрдиреА рдХрд┐рдирд╛рд░реЛрдВ рдФрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рд╕рд╛рде рдПрд▓реНрдмрдо рдХрд╡рд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИред



рдкреБрдирд╢реНрдЪ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдпрд╣ рджреГрд╢реНрдп рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рддрдереНрдп рдирд╣реАрдВ рдерд╛ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдФрд░ рдЙрдирд╕реЗ рдЬреБрдбрд╝реА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рдмрд╛рддреЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реИрдВ - рдареАрдХ рд╣реИред рдмрд╛рдХреА рд╕рднреА рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред



UPD: рдЪрд┐рддреНрд░ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдХреЗ








All Articles