我創建了一把尺子,看起來像一個典型的學校標尺。我想知道的是,這是什麼樣的公式是「int size =(i%2.5 == 0)?2000:13;」。 我已經成功解決了創建這個視圖,但我真的不知道這個公式如何工作。誰能解釋一下?標尺自定義視圖
public class ColorRulerView extends View {
Paint paint = new Paint();
static final private float pxinch = 500/67.f * 25.4f/16;
float width, height;
public ColorRulerView(Context context, AttributeSet foo) {
super(context, foo);
setBackgroundColor(Color.TRANSPARENT);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(0);
paint.setAntiAlias(false);
paint.setColor(Color.WHITE);
}
public void onSizeChanged(int w, int h, int oldW, int oldH) {
width = w;
height = h;
}
public void onDraw(Canvas c) {
for (int i = 0; ; ++i) {
float x = i * pxinch;
if (x > 5000) {
break;
}
int size = (i%2.5==0) ? 2000 : 13;
c.drawLine(x, 2, x, size, paint);
}
super.onDraw(c);
}
}
我用這個代碼,但我沒有得到任何UI.can你請幫我 –
嗨@Ashish Agrawal。它不包括顏色漸變,只包括尺子條紋。您可以在佈局中使用條紋。只需在佈局中添加下面的行。 android:layout:height =「100dp」/>。 – donmj
什麼是500和16(pxinch = 500/67.f * 25.4f/16)在你的代碼中? – android