Alternativa de Android a MetroGridHelper

Soy un novato para el desarrollo de Android y yo venía del mundo WP7, así que encontré muchas herramientas familiares que faltaban. Uno de mis favoritos es http://www.jeff.wilcox.name/2011/10/metrogridhelper/ que es realmente útil para mí para averiguar qué hay de malo con el diseño de la interfaz de usuario o la alineación durante la depuración. Así que me pregunto si hay una alternativa en el mundo android o alguien por favor puede darme algunas pistas sobre cómo implementar cosas similares en android.

One Solution collect form web for “Alternativa de Android a MetroGridHelper”

Ok, así que nos dimos cuenta. USO:

if(Debug.isDebuggerConnected()) grid = new Grid(this); 

El código fuente es el siguiente

 import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.PixelFormat; import android.graphics.Rect; import android.util.AttributeSet; import android.view.Display; import android.view.View; import android.view.WindowManager; import android.view.WindowManager.LayoutParams; public class Grid { private WindowManager mWindowManager; private GeoView geoView = null; AttributeSet attr = null; public Grid(Context context) { geoView = new GeoView(context, attr); // context.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, // WindowManager.LayoutParams.FLAG_FULLSCREEN); mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); WindowManager.LayoutParams lp = new WindowManager.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, WindowManager.LayoutParams.TYPE_APPLICATION, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT); // | WindowManager.LayoutParams.FLAG_FULLSCREEN mWindowManager.addView(geoView, lp); } protected void finalize() { mWindowManager.removeView(geoView); } public class GeoView extends View implements Runnable { private Paint mPaint = null; private int rectWidth = 25; private int rectHeight = 25; private int rectSpace = 12; private int space = 12; private WindowManager mWindowManager; private int screenWidth = 0; private int screenHeight = 0; private int columnLoopCount = 0; private int rowLoopCount = 0; public GeoView(Context context, AttributeSet attr) { super(context, attr); mWindowManager = (WindowManager) context.getSystemService("window"); Display disp = mWindowManager.getDefaultDisplay(); screenWidth = disp.getWidth(); screenHeight = disp.getHeight(); // Log.d(TAG, "screen width="+disp.getWidth()); // Log.d(TAG, "screen height="+disp.getHeight()); columnLoopCount = (screenWidth - space) / (rectWidth + rectSpace); rowLoopCount = (screenHeight - space) / (rectHeight + rectSpace); columnLoopCount++; rowLoopCount++; mPaint = new Paint(); new Thread(this).start(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); mPaint.setAntiAlias(true); // mPaint.setStyle(Paint.Style.FILL); mPaint.setStyle(Paint.Style.STROKE); for (int i = 0; i < rowLoopCount; i++) { for (int j = 0; j < columnLoopCount; j++) { int newX = j * (rectWidth + rectSpace); int newY = i * (rectWidth + rectSpace); Rect rect1 = new Rect(); rect1.left = space + newX; rect1.top = space + newY; rect1.right = space + rectWidth + newX; rect1.bottom = space + rectHeight + newY; // Log.d(TAG, // "i="+i+",j="+j+",lfet="+rect1.left+" top="+rect1.top+" bottom"+rect1.bottom+" right="+rect1.right); mPaint.setColor(Color.DKGRAY); canvas.drawRect(rect1, mPaint); } } } @Override public void run() { while (!Thread.currentThread().isInterrupted()) { try { Thread.sleep(100); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } postInvalidate(); } } } } 
  • Cuán exacta es la medida de altitud en los teléfonos móviles
  • Portabilidad entre plataformas móviles
  • Comparación de componentes de la interfaz de usuario de Android y iPhone
  • Lenguaje de programación universal para Android, iPhone y Windows Phone
  • Targeting / Developing para múltiples plataformas móviles con un solo lenguaje de programación (C #)? ¿Coste-beneficio?
  • ¿Hay algún marco único para escribir iOS, Android (e incluso Windows Phone)?
  • Cómo envolver un sitio web en una aplicación de teléfono?
  • ¿Cómo construimos una aplicación nativa móvil tal que podamos usarla tanto para Android como para WP7?
  • Experiencia de PhoneGap
  • ¿Hay algún uso de favicon.ico para sitios web móviles?
  • ¿Cómo atribuir un icono que utiliza "Licencias Creative Commons (Atribución 3.0 Unported)"?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.