三、如何使用自定义View
有了自定义属性数组,又有了自定义View,下面说说怎么使用自定义View吧。看main.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"
xmlns:wenix="http://schemas.android.com/apk/res/com.wenix" //最重要的就是这个命名空间,xmlns后写上你自己的标签,下面就可以引用属性
android:orientation="vertical" //了,res/后面跟上控件所在包的包名。
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
>
<com.wenix.MyView
android:id="@+id/myview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
wenix:textColor="#ffffffff" //使用上面定义的标签来引用属性。
wenix:textSize="22dp"/>
</LinearLayout>
然后去要用的地方用吧,看看MainActivity.java代码:
package com.wenix;
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
MyView myView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myView = (MyView)findViewById(R.id.myview);
myView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "onClick", Toast.LENGTH_LONG).show();
}
});
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
Log.i(TAG,"screen,screenhttps://www.linuxidc.com/upload/2013_04/130412091827351.png" alt="" />