1
나는 이미 버튼이있는 곳에서 페인트 응용 프로그램을 사용하고 있습니다. 하지만 다른 버튼을 추가하고 싶습니다. 내가 할 때 이전 버튼이 겹쳐져 있습니다.Android에서 프로그래밍 방식으로 레이아웃에보기 추가
저는 LayoutParams를 처음 사용하기 때문에 여기에 지침이 필요합니다. 내가 일하고 있어요 코드를 확인주세요 :
public class MyTouchEventView extends View {
private Paint paint = new Paint();
private Path path = new Path();
private Paint circlePaint = new Paint();
private Path circlePath = new Path();
public Button btnReset;
public Button btnSave;
public LayoutParams params;
public LayoutParams params2;
@SuppressWarnings("deprecation")
public MyTouchEventView(Context context) {
super(context);
paint.setAntiAlias(true);
paint.setColor(Color.GREEN);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeJoin(Paint.Join.ROUND);
paint.setStrokeWidth(15f);
circlePaint.setAntiAlias(true);
circlePaint.setColor(Color.BLUE);
circlePaint.setStyle(Paint.Style.STROKE);
circlePaint.setStrokeJoin(Paint.Join.MITER);
circlePaint.setStrokeWidth(4f);
btnReset = new Button(context);
btnReset.setText("Clear Screen");
btnSave = new Button(context);
btnSave.setText("Save Image");
params = new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
params2 = new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT);
btnReset.setLayoutParams(params);
btnSave.setLayoutParams(params);
btnSave.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// resets the screen
path.reset();
// Calls the onDraw() method
postInvalidate();
}
});
btnReset.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// resets the screen
path.reset();
// Calls the onDraw() method
postInvalidate();
}
});
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawPath(path, paint);
canvas.drawPath(circlePath, circlePaint);
}
내 MainActivity :
public class DrawingBrush extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyTouchEventView tv = new MyTouchEventView(this);
setContentView(tv);
addContentView(tv.btnReset, tv.params);
addContentView(tv.btnSave, tv.params);
}
얘들 아 당신이 날 내가 여기에 누락 무엇인지 알아내는 데 도움이 수 있습니까? 미리 감사드립니다.
안녕하세요,하지만 여전히 첫 번째 단추를 겹치기 시도했습니다 –
만약 당신이 그들을 겹치기를 원하지 않는다면, LinearLayout을 사용할 수 있습니다. 먼저 사용자 정의보기를 추가 한 다음 단추를 추가하십시오. 레이아웃에 대한 추가 정보 : http://developer.android.com/guide/topics/ui/declaring-layout.html – SimonSays
안녕하세요, simosays를 사용하여 LinearLayout으로 변경했는데 더 이상 겹쳐지지는 않지만 현재 문제는 없습니다. 캔버스에 그리다. 뭐가 문제 야? –