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

子view 没有一个显示的

    主按钮可以正常显示,但是子按钮没有一个显示的这是什么情况,求解答

protected void onLayout(boolean changed, int l, int t, int r, int b) {
    if (changed){
        layoutMainButton();
        int count = getChildCount();
        Log.d(TAG, "onLayout: count is"+count);
        for (int i =0 ;i<count-1;i++){
            View child = getChildAt(i+1);
            int cl = (int) (mRadius*Math.sin(Math.PI/2/(count-2)*i));
            int ct = (int) (mRadius*Math.cos(Math.PI/2/(count-2)*i));
            Log.d(TAG, "onLayout: cl is "+ cl+" , ct is" +ct);
            int cwidth  = child.getMeasuredWidth();
            int cheight = child.getMeasuredHeight();

            //如果在左下或者是右下
            if (mPosition == Position.LEFT_BOTTOM || mPosition ==
                    Position.RIGHT_BOTTOM){
                 ct = getMeasuredHeight()- cheight-ct;
            }
            if(mPosition == Position.RIGHT_TOP || mPosition ==
                    Position.RIGHT_BOTTOM){
                    cl = getMeasuredWidth() - cwidth -cl;
            }

            child.layout(cl,ct,cl+cwidth,cl+cheight);
        }

    }

}


正在回答

2 回答

https://img1.sycdn.imooc.com//5b7e69c2000136b403010039.jpg

最后面这里写错了!是:

child.layout(cl,ct,cl+cwidth,ct+cheight);

后面是ct+cheight不是cl+cheight


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

你跟着视频做还没做完吧 

他在onLayout里面有行child.setVisibility(View.GONE);  要在点击后才设置取消的, 你后面的代码打完了吗

没打完可以把这行去掉也可以看见



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

举报

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

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

进入课程

子view 没有一个显示的

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