我有简单的自定义视图,应该绘制进度条的缩放数字,当我将它添加到布局中时,它会导致应用程序崩溃。
public class ScaleBar extends View {
Paint linePaint = new Paint();
public ScaleBar(Context context) {
super(context);
initDrawingTool();
}
private void initDrawingTool(){
linePaint.setColor(Color.WHITE);
}
@Override
public void onDraw(Canvas canvas) {
int skaicius = 9;
int barHeight = VerticalProgressBar.getVariable();
for(int i = barHeight/10; i < barHeight-barHeight/10 ; i+=barHeight/10){
String testString = Integer.toString(skaicius);
canvas.drawText(testString, getWidth()/2-3, i, linePaint);
skaicius--;
}
canvas.drawText("10", getWidth()/2-10, 20, linePaint);
canvas.drawText("0", getWidth()/2-3, barHeight, linePaint);
}
}布局XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<View.VerticalProgressBar
android:id="@+id/verticalRatingBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:progress="10"
android:progressDrawable="@drawable/bluebar" />
<View.ScaleBar
android:id="@+id/scaling"
android:layout_width="30dp"
android:layout_height="match_parent" />
<View.VerticalProgressBar
android:id="@+id/verticalRatingBar2"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="10dp"
android:layout_height="match_parent"
android:progressDrawable="@drawable/bluebar"
android:progress="20" />
</LinearLayout>getWidth()/2,我得到:10 9 8
我要以所有数字为中心。
提前谢谢你
编辑:左边是我在tablet 10.1中看到的,右边是我在Eclipse中看到的。第9刻度行和1缺失和9接近10
-10


发布于 2014-06-12 09:27:56
我有简单的自定义视图,应该绘制进度条的缩放数字,当我将它添加到布局中时,它会导致应用程序崩溃。
你错过了布局的构造函数,
public ScaleBar(Context context, AttributeSet attrs) {
super(context, attrs);https://stackoverflow.com/questions/24180870
复制相似问题