为了账号安全,请及时绑定邮箱和手机立即绑定

自定义属性值传递不过去

打印出来的log ,position和radius都是 缺省值

正在回答

1 回答

	public ArcMenu(Context context, AttributeSet attrs, int defStyleAttr) {
		super(context, attrs, defStyleAttr);
		TypedArray a = context.getTheme().obtainStyledAttributes(attrs,
				R.styleable.ArcMenu, defStyleAttr, 0);
		int default_radius = (int) TypedValue.applyDimension(
				TypedValue.COMPLEX_UNIT_SP, 100, context.getResources()
						.getDisplayMetrics());
//		mRadius = a.getDimensionPixelSize(R.styleable.ArcMenu_radius,
//				default_radius);
		mRadius = (int) a.getDimension(R.styleable.ArcMenu_radius, default_radius);
		int pos = a.getInt(R.styleable.ArcMenu_position, RIGHT_BOTTOM);
		switch (pos) {
		case LEFT_TOP:
			mPosition = position.LEFT_TOP;
			break;
		case LEFT_BOTTOM:
			mPosition = position.LEFT_BOTTOM;
			break;
		case RIGHT_TOP:
			mPosition = position.RIGHT_TOP;
			break;
		case RIGHT_BOTTOM:
			mPosition = position.RIGHT_BOTTOM;
			break;
		}
		a.recycle();
		Log.i("hendry_arcmenu__", "position:" + mPosition + " radius:"
				+ mRadius);
	}

可以正常读取的, 上面是我测试的代码, 你看看是不是a.getXxx  这个地方参数问题

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android实现卫星菜单
  • 参与学习       26330    人
  • 解答问题       55    个

学习仿Path的卫星式菜单,课程涵盖了自定义控件的整个过程

进入课程

自定义属性值传递不过去

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信