新建包为 com.example.button 的工程;
MainActivity.java 内容:
package com.example.button;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myView my = (myView)findViewById(R.id.my_xml_view);
my.setText("hello_android!");
}
}
// myView.java 内容:
package com.example.button;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
// 如果该类被用该 xml 内,必须覆盖完基类所有的构造函数,不然秒退!!
public class myView extends TextView
{
public myView(Context context) {
super(context);
}
public myView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public myView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
}
}
<?xml version="1.0" encoding="utf-8"?>
<!-- 该 xml 对应的 myView 必须覆盖基类的所有构造函数!!不然 秒退!! -->
<com.example.button.myView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_xml_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="44sp"
android:textStyle="bold"
android:textColor="#ee1111" />