0
나는 사각형 인 간단한 사용자 정의보기를 만들었습니다. 레이아웃에 추가 할 수는 있지만 클래스에 정의 된 색상은 변경할 수 없습니다.android의 사용자 정의 컨트롤에 속성 추가하기
내 수업 :
package com.example.customview;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.Display;
import android.view.View;
import android.view.WindowManager;
public class CustomRect extends View {
Rect rect;
Paint blue;
public void init() {
rect = new Rect(0, 0, 200, 200);
blue = new Paint();
blue.setColor(Color.BLUE);
blue.setStyle(Paint.Style.FILL);
}
public CustomRect(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public CustomRect(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public CustomRect(Context context) {
super(context);
init();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawRect(rect, blue);
invalidate();
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// TODO Auto-generated method stub
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
setMeasuredDimension(200, 200);
}
}
내 활동
package com.example.customview;
import android.app.Activity;
import android.os.Bundle;
public class RectActivity extends Activity{
CustomRect rect;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
rect = new CustomRect(this);
setContentView(rect);
}
}
내 레이아웃 : 사람이 할 수있는 어떤 생각을 가지고
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<view
android:id="@+id/thisId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
class="com.example.customview.CustomRect" />
</LinearLayout>
합니다. 감사.
좋아, 감사합니다 ..... –
은 당신의 문제가 해결 되었습니까? – Simon
죄송합니다. 오해가있는 것 같습니다. 파란 색으로 잘 작동합니다. 하지만 내가 원할 때마다 xml에서 그것을 어떻게 바꿀 것인가. 감사. –