Highlight
Highlight copied to clipboard
问一下在fragment中如何设置
在fragment中设置如下: mHighLight = new HighLight(getActivity())// .anchor(view.findViewById(R.id.id_container)) .addHighLight(R.id.vp_pager_f,R.layout.info_main_f, new OnBottomPosCallback(),new RectLightShape()); mHighLight.show(); mHighLight.setClickCallback(new HighLight.OnClickCallback() { @Override public void onClick() { // GCSharePreferenceUtils.putBoolean(getActivity(),IS_SHOW_MAIN_F, false); } });
报错为:java.lang.NullPointerException at common.highlight.HighLight.show(HighLight.java:192)
192行为: parent.removeView(mAnchor);
我觉得你可以考虑下是不是mHighLight = new HighLight(getActivity())// 传入activity不能为空 .anchor(view.findViewById(R.id.id_container))你的这二句出错了,fragment里面如果只是遮罩部分,传view的根布局ID,如果是想达到在activity里面显示的话,需要传父activity的根布局ID
@hpuhsp 我后来改了下,在fragment的Activity布局中加了hightLIght布局,只要跟fragment布局中要高亮的布局位置一致就可以了。 另外 关于view加载未完成的问题,在Activity中需要重写 @Override public void onWindowFocusChanged(boolean hasFocus) { // TODO Auto-generated method stub super.onWindowFocusChanged(hasFocus); showTipViewMainF(); }
fragement 大家有弄好的吗 代码是啥啊?
我fragment继承的是basefragment(里面定义的rootview)。在你需要高亮的fragment里面直接code: public void showTipView(View view){ mHightLight = new HighLight(getActivity()) .anchor(rootView)//如果是Activity上增加引导层,不需要设置anchor,弘扬神库里有默认的。 .addHighLight(view,R.layout.info_gravity_right_up,new OnBottomPosCallback(60),new CircleLightShape()); mHightLight.show(); } 这段代码我用于FloatingActionButton.做的点击事件。
@siyu3223 在Activity的时候加载,那如何控制他在Fragment显示呢?
这个为什么不能主动触发?非要绑定到点击事件?
@Hellozhongxin 那很简单啊 在fragment中调用Activity中显示HighLight布局的方法呀