당신이 여기가해야 할 것은이 포함 된 레이아웃입니다 TextView
및 MyView
을 선택한 다음 활동 내에서 사용자 정의보기를 찾아 사용자 데이터를 전달하십시오. 그런 다음 MyView
은 onDraw()
중에 이것을 사용할 수 있습니다. 이 같은 아마 뭔가 :
res/layout/main.xml
:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="veritcal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello World" />
<my.package.MyView
android:id="@+id/myview"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
src/my/package/MyView.java
:
public class MyView extends View {
UserData mUserData = null;
public void setUserData(userData) {
mUserData = userData;
}
@Override
protected void onDraw(Canvas canvas) {
performCustomDrawingWithUserData(mUserData);
super.onDraw(canvas);
}
}
src/my/package/MyActivity.java
:
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// pass the user data into myview here.
MyView myView = (MyView) findViewById(R.id.myview);
myView.setUserData(userData);
}
}