Search This Blog

Popular Posts

Saturday, October 31, 2020

ProgressBar

 


package com.example.progressbar;

import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;

import androidx.annotation.Nullable;

public class ProgressBarnew extends View {
private int sizeskbar=100;
public ProgressBarnew(Context context) {

super(context);

}

public ProgressBarnew(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public ProgressBarnew(Context context, @Nullable AttributeSet attrs, int defStyleAttr){
super(context,attrs,defStyleAttr);
}

@Override
protected void onDraw(Canvas canvas) {
Paint p =new Paint(Paint.LINEAR_TEXT_FLAG);
p.setColor(Color.RED);
p.setTextSize(36.f);

//canvas.drawText("omar",0,100,0,0,p);
//p.setFontFeatureSettings();
// Bitmap bitmap=Bitmap.createBitmap(100,100,Bitmap.Config.ARGB_8888);
int wright=1000;//يمين
int left=10;//شمال
int up=100;//فوق
int down=200;//تحت

canvas.drawText("10%",left,up,p);
canvas.drawLine(left, up, wright, up, p);
canvas.drawLine(left, down, wright, down, p);
canvas.drawLine(left, up, left, down, p);
canvas.drawLine(wright, up, wright, down, p);
int xn=1;
for(int i=left;i<wright;i++){
xn++;
if(xn>sizeskbar) {
p.setColor(Color.RED);
canvas.drawLine(i, up, i, down, p);
} else {
p.setColor(Color.BLUE);
canvas.drawLine(i,up,i,down, p);
}
}
// canvas.drawPoint(i, iy, p);




//canvas.drawLine(0,0,500,10,p);

super.onDraw(canvas);
}
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouchEvent(MotionEvent ev) {
int time=1;
//scrollBy((int) ev.getX(), (int) ev.getY());
this.getParent().requestDisallowInterceptTouchEvent(true);
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:

setPressed(true);

break;
case MotionEvent.ACTION_MOVE:
setPressed(true);
Log.d("tieme=","t"+ev.getEventTime());
Log.d("on=","t"+ev.getDownTime());
sizeskbar++;
if(ev.getEventTime()>ev.getDownTime()+500) {

if (ev.getX() > (getWidth() / 2)) {

scrollTo(getScrollX() + 50, getScrollY());
} else {

scrollTo(getScrollX() - 50, getScrollY());
}
}

//scrollTo((int) ev.getX(), getScrollY());
break;
case MotionEvent.ACTION_UP:
invalidate();
this.getParent().requestDisallowInterceptTouchEvent(false);
setPressed(false);
break;
case MotionEvent.ACTION_CANCEL:
this.getParent().requestDisallowInterceptTouchEvent(false);
setPressed(false);
break;
}

return true;
}

}


No comments:

Post a Comment

Android Studio Java xml Learn free lessons in programming Android applications We will offer everything important for programming Android applications Follow us and subscribe with us

  بيئة تطوير أندرويد جافا xml تعلم دروسًا مجانية في برمجة تطبيقات Android سنقدم كل شيء مهم لبرمجة تطبيقات Android تابعنا واشترك معنا اند...