빨간색 선이 그려지는 View를 확장하는 DrawView 클래스가 있습니다. 버튼을 클릭하면 화면에 한 줄 더 표시됩니다 (canvas.drawLine (200, 500, 500, 500, paint)). 올바르게하는 방법?
DrawView 클래스 :
public class DrawView extends View {
Paint paint = new Paint();
public DrawView(Context context) {
super(context);
paint.setColor(Color.RED);
}
@Override
public void onDraw(Canvas canvas) {
canvas.drawLine(200, 500, 200, 800, paint);
}
}
MainActivity 클래스 :
public class MainActivity extends AppCompatActivity {
DrawView drawView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
drawView = new DrawView(this);
drawView.setBackgroundColor(Color.WHITE);
LinearLayout container = (LinearLayout) findViewById(R.id.conteiner);
container.addView(drawView);
Button important = (Button) findViewById(R.id.important);
important.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(getApplicationContext(),
"Button 1 clicked",
Toast.LENGTH_LONG).show();
}
});
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.attracti.redline.MainActivity">
<LinearLayout
android:id="@+id/conteiner"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/important">
</LinearLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Draw"
android:id="@+id/important"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
목록 좌표 = new ArrayList ();
[...]
for(Coord c:coords)
canvas.drawLine(c.getX(), c.getY(), c.getX()+x.getWidth(), y.getY()+y.getHeight(), paint);
x, y, width 및 height에 대해 필요한 get 및 set를 사용하여 Coord라는 클래스를 작성하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다