이 예에서는 '동적 레이아웃'을 생성하지 않습니다. XML로 정의 할 부분 인 레이아웃은 View
객체 인 MyView
으로 구성되어 있습니다.
"동적 레이아웃"이라고하는 것은 MyView
클래스입니다.이 입력은 터치 입력을 받아 들여 화면에 그려주는 사용자 정의 View
객체입니다. 이것은 XML로 정의 될 수 없습니다. MyView가 확장하는 일반 View 클래스는 이러한 기능을 지원하지 않기 때문에 필요한 로직을 처리하기 위해 Java 코드를 작성해야합니다.
당신이해야 할 일은 MyView 클래스를 정의하는 자바 파일을 만드는 것입니다. 예를 들어, com.example.MyView
라고 말하십시오. 그런 다음 XML에서 패키지 이름을 포함하여 전체 이름을 참조하여 레이아웃에이 사용자 정의보기를 포함 할 수 있습니다. 예를 들어 ...
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical">
<com.example.MyView>
android:layout_height="fill_parent"
android:layout_width="fill_parent"
</com.example.MyView>
</LinearLayout>
당신은 setContentView
를 사용하여 평소와 같이 활동이 레이아웃을 사용할 수 있습니다.
답장을 보내 주셔서 감사합니다. 희망 프로젝트를 참조하십시오. 그 프로젝트에서 MyView는 FingerPaint 클래스의 서브 클래스입니다. 그래서 그러한 관점을 가능하게하려면, MyView라는 새로운 클래스를 만들거나 FingerPaint 클래스의 해당 하위 클래스의 레이아웃을 만들 수 있어야합니까? –