저는 안드로이드 개발에 초보자이며 이미지 위에 그려진 선을 추가하는 방법을 알아내는 데 문제가 있습니다. 선을 그려서 표시하거나 이미지를 표시 할 수 있지만 동시에 두 가지를 모두 표시하는 방법을 알 수는 없습니다.main.xml 위에 onDraw 드로어 블 추가하기
anolog speedometer 게이지를 고려하십시오. main.xml에는 Speedometer에서 바늘을 뺀 이미지를 표시하는 ImageView가 있습니다. 바늘의 경우 프로그래밍 방식으로 선을 그려 게이지 이미지 위에 추가하고 싶습니다. 여기
내 활동보기 코드 : 내 main.xml에 파일을 여기에
public class StartDraw extends Activity {
DrawView drawView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
setContentView(new DrawView(this));
}
final class DrawView extends View {
Paint paint = new Paint();
public DrawView(Context context) {
super(context);
paint.setColor(Color.WHITE);
paint.setStrokeWidth(5);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawLine(30, 100, 150, 200, paint);
}
}
}
하고 :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView android:src="@drawable/image" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView1"></ImageView>
</LinearLayout>
어떻게 속도계의 상단에있는 바늘을 표시합니까? 어떤 도움이라도 대단히 감사하겠습니다.
을 대신하여 "canvas.drawLine (30, 100, 150, 200, 페인트);" , 나는 "canvas.drawLine (startx, starty, stopx, stopy, paint)와 같은 것을 사용할 것입니다;" startx, starty, stopx 및 stopy가 주요 활동에서 계산되었습니다. DrawView를 별도의 클래스 파일로 분해하면 주 활동에서 계산 된 값을 사용하여 DrawView의 drawLine에 사용 된 좌표를 업데이트 할 수 있습니까? – Bill
DrawView 인스턴스에 대한 참조를 얻는 방법을 보여주기 위해 제 질문을 편집했습니다. 이 시점에서 정보를 전달할 수 있습니다. – elevine
고마워요! 이제 작동합니다. – Bill