Android自定义viewGroup实现点击动画效果

这篇文章主要介绍了Android自定义viewGroup实现点击动画效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了viewGroup实现点击动画效果展示的具体代码,供大家参考,具体内容如下

 public class MyCustomView extends ViewGroup implements View.OnClickListener { private OnMenuItemClickListener mMenuItemClickListener; /** * 点击子菜单项的回调接口 */ public interface OnMenuItemClickListener { void onClick(View view, int pos); } public void setOnMenuItemClickListener( OnMenuItemClickListener mMenuItemClickListener) { this.mMenuItemClickListener = mMenuItemClickListener; } public enum Status { OPEN, CLOSE } private int mRadius; /** * 菜单的状态 */ private Status mCurrentStatus = Status.CLOSE; /** * 菜单的主按钮 */ private View mCButton; public MyCustomView(Context context) {//通过new对象来调用 this(context, null); Log.i("jj", "super(context)"); } public MyCustomView(Context context, AttributeSet attrs) {//在布局中使用时调用 this(context, attrs, 0); Log.i("jj", "super(context, attrs)"); } public MyCustomView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); Log.i("jj", "super(context, attrs, defStyleAttr)"); mRadius = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 100, getResources().getDisplayMetrics()); Log.i("jj", "mRadius1: " + mRadius); // 获取自定义属性的值 TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyCustomView, defStyleAttr, 0); mRadius = (int) a.getDimension(R.styleable.MyCustomView_radius, TypedValue .applyDimension(TypedValue.COMPLEX_UNIT_DIP, 100, getResources().getDisplayMetrics())); Log.i("jj", "mRadius: " + mRadius); a.recycle(); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int count = getChildCount(); for (int i = 0; i 

attrs.xml:

    

菜单布局文件:

  

主界面布局文件:

   

在主程序直接使用:

 mMenu = (MyCustomView) findViewById(R.id.id_menu); mMenu.setOnMenuItemClickListener(new MyCustomView.OnMenuItemClickListener() { @Override public void onClick(View view, int pos) { Toast.makeText(MainActivity.this, pos + ":" + view.getTag(), Toast.LENGTH_SHORT).show(); } }); mMenu.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if(mMenu.isOpen()){ mMenu.toggleMenu(300); } return false; } }); 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持html中文网。

以上就是Android自定义viewGroup实现点击动画效果的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 移动