您的位置:首页 > 其它

自定义控件二

2016-07-07 15:29 169 查看
======================MainActivity===========================

package com.hf.circle;

import android.os.Bundle;

import android.support.v4.app.FragmentActivity;

public class MainActivity extends FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// FragmentManager fm = getSupportFragmentManager();

// FragmentTransaction transaction = fm.beginTransaction();

getSupportFragmentManager().beginTransaction().replace(R.id.rl, new MyFragment()).commit();
}

}

=====================MyFragment===========================

package com.hf.circle;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

public class MyFragment extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.myfragment, null);

return v;
}

}

==============================MyCircle=============================

package com.hf.circle;

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.Paint.Style;

import android.util.AttributeSet;

import android.view.View;

public class MyCircle extends View {

public MyCircle(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}

/**
* 在布局文件里引用时会调用此方法
* @param context
* @param attrs
*/
public MyCircle(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}

/**
* 代码
* @param context
*/
public MyCircle(Context context) {
super(context);
// TODO Auto-generated constructor stub
}

/**
* 测量
*/
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
//固定的宽高
setMeasuredDimension(100, 100);
}

/**
* 画
*/
@Override
protected void onDraw(Canvas canvas) {
//画笔
Paint paint = new Paint();
paint.setColor(Color.RED);

paint.setStyle(Style.FILL);
//效果
paint.setAntiAlias(true);

canvas.drawCircle(50, 50, 50, paint);

super.onDraw(canvas);
}

}

=====================activity_main======================

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:id="@+id/rl"

    tools:context="com.hf.circle.MainActivity" >

</RelativeLayout>

=======================myfragment========================

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:orientation="vertical" >

    <com.hf.circle.MyCircle

        android:id="@+id/circle"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content" />

</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: