진행률 표시 줄의 배율을 나타내는 간단한 사용자 지정보기가 있으며 레이아웃에 추가하면 앱이 다운됩니다.맞춤보기로 인해 앱이 다운 됨
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
그리고 난을 중심으로 모든 숫자를 원한다. .
사전에편집을 주셔서 감사합니다 : 왼쪽에 난 태블릿 10.1에서 무엇을보고 "나는 이클립스에서 볼 옳은 일 9 규모의 라인과 1
누락 9
그릴되어 10
- 근처 중앙에 숫자를 그리기에 대해? 아니면 내가이 작업을 수행 할 필요가 수동으로 getWidth()/2
-10
?
01 2,333,869,
후 당신의 로그 캣 오류 추적을 놓쳤다. –