Advertisement
Pit_Anonim

Untitled

May 6th, 2019
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. package com.example.a1.eng_project;
  2.  
  3. import android.content.Context;
  4. import android.content.res.Resources;
  5. import android.content.res.TypedArray;
  6. import android.graphics.Bitmap;
  7. import android.graphics.Canvas;
  8. import android.graphics.Color;
  9. import android.graphics.Paint;
  10. import android.graphics.RectF;
  11. import android.icu.util.Measure;
  12. import android.text.Layout;
  13. import android.util.AttributeSet;
  14. import android.util.DisplayMetrics;
  15. import android.util.Log;
  16. import android.view.GestureDetector;
  17. import android.view.MotionEvent;
  18. import android.view.View;
  19.  
  20. import static android.content.ContentValues.TAG;
  21.  
  22. public class MovebleView extends View {
  23. int width, height;
  24. float circle;
  25.  
  26. public MovebleView(Context context,AttributeSet attrs) {
  27. super(context, attrs);
  28. circle = convertDpToPixel(30, context);
  29. }
  30.  
  31. @Override
  32. protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  33. super.onMeasure(widthMeasureSpec, heightMeasureSpec);
  34. width = MeasureSpec.getSize(widthMeasureSpec);
  35. height = MeasureSpec.getSize(heightMeasureSpec);
  36. setMeasuredDimension(width,height);
  37. }
  38.  
  39. @Override
  40. protected void onDraw(Canvas canvas) {
  41. super.onDraw(canvas);
  42.  
  43. Paint p =new Paint();
  44. p.setColor(Color.WHITE);
  45. p.setAntiAlias(true);
  46. p.setStyle(Paint.Style.FILL);
  47.  
  48. canvas.drawRoundRect(new RectF(0,0,width,height),circle,circle, p);
  49. canvas.drawRect(new RectF(0,0,width,height-circle),p);
  50. p.setColor(Color.LTGRAY);
  51. canvas.drawRoundRect(new RectF((width/2)-width/10,height-50,((width/2)-width/10)+(width/10)*2,(height-50)+25),width/20,width/20, p);
  52.  
  53. }
  54.  
  55. float initialX, initialY;
  56. public boolean onTouchEvent(MotionEvent event) {
  57. switch (event.getAction()) {
  58.  
  59. case MotionEvent.ACTION_DOWN:
  60. Log.d(TAG, "Action was DOWN");
  61. break;
  62.  
  63. case MotionEvent.ACTION_MOVE:
  64. float finalY = event.getY();
  65. height += finalY - initialY;
  66. case MotionEvent.ACTION_CANCEL:
  67. break;
  68. }
  69.  
  70. initialX = event.getX();
  71. initialY = event.getY();
  72.  
  73. invalidate();
  74. return true;
  75. }
  76.  
  77. public float convertDpToPixel(float dp, Context context){
  78. Resources resources = context.getResources();
  79. DisplayMetrics metrics = resources.getDisplayMetrics();
  80. return dp * (metrics.densityDpi/160f);
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement