Android自定义View控件实现刷新效果

所属分类: 软件编程 / Android 阅读数: 25
收藏 0 赞 0 分享

三种得到LinearInflater的方法

a. LayoutInflater inflater = getLayoutInflater();

b. LayoutInflater localinflater =

(LayoutInflater)context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);

c. LayoutInflater inflater = LayoutInflater.from(context);

onDraw 方法绘图,invalidate刷新界面。

效果图:

点击一下换颜色

onDraw画完图后,给控件设置点击事件 ,将参数传到控件里,然后invalidate刷新

1.onDraw画图,并增加changeColor方法

public class CusView3 extends View { 
private int color = 0; 
public CusView3(Context context, AttributeSet attrs) { 
super(context, attrs); 
} 
@Override 
protected void onDraw(Canvas canvas) { 
super.onDraw(canvas); 
Paint mPaint = new Paint(); 
if (color > 2) { 
color = 0; 
} 
switch (color) { 
case 0: 
mPaint.setColor(Color.GREEN); 
break; 
case 1: 
mPaint.setColor(Color.RED); 
break; 
case 2: 
mPaint.setColor(Color.BLUE); 
break; 
default: 
break; 
} 
mPaint.setStyle(Style.FILL); 
mPaint.setTextSize(35.0f); 
canvas.drawText("点击我刷新", 10, 60, mPaint); 
} 
public void changeColor() { //为了让外面调用 
color++; 
} 
}

2.布局

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
<xue.test.CusView3 
android:id="@+id/cusview3" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
> 
</xue.test.CusView3> 
</LinearLayout>

3.画图后 给控件设置点击事件 ,将参数传到控件里,然后invalidate刷新

public class TestCustomViewActivity extends Activity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
view3 = (CusView3) findViewById(R.id.cusview3); 
// 点击事件 
view3.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) { 
Message message = new Message(); 
message.what = 1; 
myHandler.sendMessage(message); 
} 
}); 
} 
Handler myHandler = new Handler() { 
// 接收到消息后处理 
public void handleMessage(Message msg) { 
switch (msg.what) { 
case 1: 
// 调用方法 
view3.changeColor(); 
// 刷新方法 
view3.invalidate(); 
break; 
} 
super.handleMessage(msg); 
} 
}; 
private CusView3 view3; 
}

至于自定义控件占整屏的问题,可能需要用layoutparams

以上所述是小编给大家介绍的Android自定义View控件实现刷新效果,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

更多精彩内容其他人还在看

Android设计登录界面、找回密码、注册功能

这篇文章主要为大家详细介绍了Android设计登录界面的方法,Android实现找回密码、注册功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android通过手势实现答题器翻页效果

这篇文章主要为大家详细介绍了Android通过手势实现答题器翻页效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android采用双缓冲技术实现画板

这篇文章主要为大家详细介绍了Android采用双缓冲技术实现画板的相关资料,思路清晰,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android开发之毛玻璃效果实例代码

这篇文章主要给大家分享android开发之毛玻璃效果的实例代码,非常具有参考借鉴价值,感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

Android实现桌面悬浮窗、蒙板效果实例代码

这篇文章主要介绍了Android实现桌面悬浮窗、蒙板效果实例代码的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

深入解读Android的Volley库的功能结构

这篇文章主要介绍了Android的Volley开发框架的功能结构,Volley是Android开发中网络部分的一大利器,包含很多HTTP协议通信的相关操作,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发中使用Volley库发送HTTP请求的实例教程

这篇文章主要介绍了Android开发中使用Volley库发送HTTP请求的实例教程,包括创建Volley单例的基本知识与取消Request请求的技巧等,需要的朋友可以参考下
收藏 0 赞 0 分享

Android仿QQ聊天撒花特效 很真实

本文写的这个特效,是关于聊天的,你肯定遇到过,就是你跟人家聊天的时候,比如发送应(么么哒),然后屏幕上全部就是表情了,今天我们就是做这个,撒花的特效,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android的HTTP操作库Volley的基本使用教程

这篇文章主要介绍了Android的HTTP操作库Volley的基本使用教程,包括JSON请求与图片加载等用法的实例,需要的朋友可以参考下
收藏 0 赞 0 分享

Android仿水波纹流量球进度条控制器

这篇文章主要介绍了Android仿水波纹流量球进度条控制器的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多