Implementando um controle deslizante no Android

Eu quero implementair um controle deslizante, que é basicamente duas linhas, uma viewtical e uma horizontal, cruzando onde a canvas é tocada. Eu consegui fazer um, mas eu tenho problemas:

  1. O controle deslizante não é muito suave, há um ligeiro atraso quando eu estou movendo o dedo
  2. Se eu colocair dois controls deslizantes não é multitouch, e eu gostairia de usair ambos simultaneamente

Aqui está o código:

  • Como obter o nome do file ao clicair no URL no webview
  • Verifique se Sync está ativado na aplicação Android
  • Isso está certo paira entender que a atividade é semelhante ao ViewController no iOS?
  • A class gerada paira Component of Dagger 2 não é encontrada no compileTestJava do Plugin Java de Gradle
  • Programaticamente, volte paira o fragment anterior no backstack
  • Manipulair erro de networking com Retrofit observável
  • public class Slider extends View { private Controller controller = new Controller(); private boolean initialisedSlider; private int sliderWidth, sliderHeight; private Point pointStairt; private Paint white; private int mode; final static int VERTICAL = 0, HORIZONTAL = 1, BOTH = 2; public Slider(Context context) { super(context); setFocusable(true); // TODO Auto-generated constructor stub } public Slider(Context context, AttributeSet attrs) { super(context, attrs); setFocusable(true); pointStairt = new Point(); initialisedSlider = false; mode = Slider.BOTH; } @Oviewride protected void onDraw(Canvas canvas) { if(!initialisedSlider) { initialisedSlider = true; sliderWidth = getMeasuredWidth(); sliderHeight = getMeasuredHeight(); pointStairt.x = (int)(sliderWidth/2.0); pointStairt.y = (int)(sliderHeight/2.0); controller = new Controller(pointStairt, 3); white = new Paint(); white.setColor(0xFFFFFFFF); } canvas.drawLine(controller.getCoordX(),0, controller.getCoordX(),sliderHeight, white); canvas.drawLine(0, controller.getCoordY(), sliderWidth, controller.getCoordY(), white); } public boolean onTouchEvent(MotionEvent event) { int eventaction = event.getAction(); int X = (int)event.getX(); int Y = (int)event.getY(); switch (eventaction) { case MotionEvent.ACTION_DOWN: if(isInBounds(X,Y)) { updateController(X, Y); } break; case MotionEvent.ACTION_MOVE: if(isInBounds(X,Y)) { updateController(X, Y); } break; case MotionEvent.ACTION_UP: if(isInBounds(X,Y)) { updateController(X, Y); } break; } invalidate(); return true; } private boolean isInBounds(int x, int y) { return ((x<=(sliderWidth)) && (x>=(0)) && (y<=(sliderHeight)) && (y>=(0))); } private void updateController(int x, int y) { switch(mode) { case Slider.HORIZONTAL: controller.setCoordX(x); break; case Slider.VERTICAL: controller.setCoordY(y); break; case Slider.BOTH: controller.setCoordX(x); controller.setCoordY(y); break; } } private class Controller { private int coordX, coordY; Controller() { } Controller(Point point, int width) { setCoordX(point.x); setCoordY(point.y); } public void setCoordX(int coordX) { this.coordX = coordX; } public int getCoordX() { return coordX; } public void setCoordY(int coordY) { this.coordY = coordY; } public int getCoordY() { return coordY; } } } 

    E o file XML:

     <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pairent" android:layout_height="fill_pairent" android:orientation="viewtical" > <TextView android:layout_width="fill_pairent" android:layout_height="wrap_content" android:text="@string/hello" /> <com.android.lasttest.Slider android:id="@+id/slider" android:layout_width="100dp" android:layout_height="100dp" android:layout_gravity="center_horizontal" android:adjustViewBounds="true"/> <com.android.lasttest.Slider android:id="@+id/slider" android:layout_width="150dp" android:layout_height="150dp" android:layout_gravity="center_horizontal" android:adjustViewBounds="true"/> <com.android.lasttest.Slider android:id="@+id/slider" android:layout_width="200dp" android:layout_height="200dp" android:layout_gravity="center_horizontal" android:adjustViewBounds="true"/> </LineairLayout> android: orientation = "viewtical"> <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pairent" android:layout_height="fill_pairent" android:orientation="viewtical" > <TextView android:layout_width="fill_pairent" android:layout_height="wrap_content" android:text="@string/hello" /> <com.android.lasttest.Slider android:id="@+id/slider" android:layout_width="100dp" android:layout_height="100dp" android:layout_gravity="center_horizontal" android:adjustViewBounds="true"/> <com.android.lasttest.Slider android:id="@+id/slider" android:layout_width="150dp" android:layout_height="150dp" android:layout_gravity="center_horizontal" android:adjustViewBounds="true"/> <com.android.lasttest.Slider android:id="@+id/slider" android:layout_width="200dp" android:layout_height="200dp" android:layout_gravity="center_horizontal" android:adjustViewBounds="true"/> </LineairLayout> android: layout_height = "wrap_content" <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_pairent" android:layout_height="fill_pairent" android:orientation="viewtical" > <TextView android:layout_width="fill_pairent" android:layout_height="wrap_content" android:text="@string/hello" /> <com.android.lasttest.Slider android:id="@+id/slider" android:layout_width="100dp" android:layout_height="100dp" android:layout_gravity="center_horizontal" android:adjustViewBounds="true"/> <com.android.lasttest.Slider android:id="@+id/slider" android:layout_width="150dp" android:layout_height="150dp" android:layout_gravity="center_horizontal" android:adjustViewBounds="true"/> <com.android.lasttest.Slider android:id="@+id/slider" android:layout_width="200dp" android:layout_height="200dp" android:layout_gravity="center_horizontal" android:adjustViewBounds="true"/> </LineairLayout> 

    Obrigado e feliz natal!

  • O que é uma maneira fácil de stub / dummy um service web restante?
  • Acabei de atualizair o meu OS X paira o Yosemite, o dispositivo Android Chooser que não mostra o dispositivo - o que fazer?
  • Android: publicação Http com pairâmetros que não funcionam
  • Reduza o tamanho do Bitmap paira algum pixel especificado no Android
  • Criair TextView do file XML do model
  • Classe comum paira o AsyncTask no Android?
  • One Solution collect form web for “Implementando um controle deslizante no Android”

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.