layout.xml에 제가 만든 view소스를 컴포넌트로 사용할려면 어떻게 해야하는지요?
예를 들어서 아래와 같이 extends view를 만들었다고하면은요
activity_main.xml
=========================================================
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.TestView
android:id="@+id/mTestView"
android:layout_width="500dp"
android:layout_height="500dp"/>
<TextView android:text="그림에 대한설명"
android:layout_width="100dp"
android:layout_height="100dp"/>
</FrameLayout>
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState););
setContentView(R.layout.activity_main);
}
}
public class TestView extends View {
//-------------------------------------
// 생성자
//-------------------------------------
public Bitmap m_bitmap = null;
public TestView(Context context, AttributeSet attrs) {
super(context, attrs);
setFocusable(true);
}
protected void onFinishInflate ()
{
int width, height;
// 페인트 객체를 생성한다.
m_paint = new Paint();
m_paint.setAntiAlias(true);
m_paint.setColor(Color.RED);
// 선의 두께를 1로 한다.
m_paint.setStrokeWidth(1);
// 도형을 그릴때 내부에 색이 채워지지 않도록 속성을 설정한다.
m_paint.setStyle(Paint.Style.STROKE);
Display display = ((WindowManager) mContext.getSystemService (Context.WINDOW_SERVICE)).getDefaultDisplay();
width = display.getWidth(); // View의 가로 폭
height = display.getHeight() - 50; // View의 세로 높이
m_bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.color);
m_bitmap = Bitmap.createScaledBitmap(m_bitmap, width, height, false);
}
}
MainActivity에서 TestView의 m_bitmap을 컨트롤할수 있는 방법이 없을까요?
예를 들어서 이미지를 변경할수 잇는 방법이 없을까요?
그리고 xml파일에 아래아 같이 View파일을 넣는 방식을 무엇이라고 하나요?
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.TestView
android:id="@+id/mTestView"
android:layout_width="500dp"
android:layout_height="500dp"/>
<TextView android:text="그림에 대한설명"
android:layout_width="100dp"
android:layout_height="100dp"/>
</FrameLayout>