当前位置: 代码迷 >> Android >> 请问 FragmentTabHost 的有关问题
  详细解决方案

请问 FragmentTabHost 的有关问题

热度:56   发布时间:2016-04-27 22:37:02.0
请教 FragmentTabHost 的问题?
使用 FragmentTabHost 时,请问 Android 是先创建 Fragment 还是先创建 Tabs 呢?
------解决思路----------------------
Tabs ,fragment是添加进去的 
可以参考我的博客:http://blog.csdn.net/u010794180/article/details/41621003
------解决思路----------------------
fragment一般都是添加进去的,应该是Tabs先创建吧
------解决思路----------------------
 Android ViewPager+Fragment滑动选项卡,tab点击选项卡
http://blog.csdn.net/qq_16064871/article/details/45932065
------解决思路----------------------
引用:
Quote: 引用:

Tabs ,fragment是添加进去的 
可以参考我的博客:http://blog.csdn.net/u010794180/article/details/41621003


引用:
fragment一般都是添加进去的,应该是Tabs先创建吧

我也想的是先创建 Tabs,但是在其中的一个 Fragment 中使用 PopupWindow 的时候,不管是在 onCreateView() 还是 onResume() 方法显示 PopupWindow,都会导致 PopupWindow 卡在整个屏幕最上方;但是等界面加载完,通过点击事件使 PopupWindow 显示在指定的 View 下方又显示正常;
所以在想 FragmentTabHost 是不是先加载要显示 Fragment 再创建 Tabs,没阅读源码,不太清楚。


不太清楚你所描述的。你的需求是什么?卡在屏幕最上方是什么意思?PopupWindow 可以自定义位置的,你是否设置了。其次,你所说的界面加载完是哪里加载完;最后,你说点击事件,是点击哪里的按钮,因为ppw一显示就会默认占领点击焦点。
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Tabs ,fragment是添加进去的 
可以参考我的博客:http://blog.csdn.net/u010794180/article/details/41621003


引用:
fragment一般都是添加进去的,应该是Tabs先创建吧

我也想的是先创建 Tabs,但是在其中的一个 Fragment 中使用 PopupWindow 的时候,不管是在 onCreateView() 还是 onResume() 方法显示 PopupWindow,都会导致 PopupWindow 卡在整个屏幕最上方;但是等界面加载完,通过点击事件使 PopupWindow 显示在指定的 View 下方又显示正常;
所以在想 FragmentTabHost 是不是先加载要显示 Fragment 再创建 Tabs,没阅读源码,不太清楚。


不太清楚你所描述的。你的需求是什么?卡在屏幕最上方是什么意思?PopupWindow 可以自定义位置的,你是否设置了。其次,你所说的界面加载完是哪里加载完;最后,你说点击事件,是点击哪里的按钮,因为ppw一显示就会默认占领点击焦点。



正常的创建完就显示:

mPW = new PopupWindow(v, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, false);
mPW.showAsDropDown(mNumpad);

会导致 PopupWindow 在最顶部显示,无法正常的 View 左下方显示:

(Fragment 没有留空间给 PopupWindow 显示);

等应用加载完再通过点击事件显示 PopupWindow,PopupWindow 能正常的在 Tabs 位置显示。

你的ppw不是全屏的吗?LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

Tabs ,fragment是添加进去的 
可以参考我的博客:http://blog.csdn.net/u010794180/article/details/41621003


引用:
fragment一般都是添加进去的,应该是Tabs先创建吧

我也想的是先创建 Tabs,但是在其中的一个 Fragment 中使用 PopupWindow 的时候,不管是在 onCreateView() 还是 onResume() 方法显示 PopupWindow,都会导致 PopupWindow 卡在整个屏幕最上方;但是等界面加载完,通过点击事件使 PopupWindow 显示在指定的 View 下方又显示正常;
所以在想 FragmentTabHost 是不是先加载要显示 Fragment 再创建 Tabs,没阅读源码,不太清楚。


不太清楚你所描述的。你的需求是什么?卡在屏幕最上方是什么意思?PopupWindow 可以自定义位置的,你是否设置了。其次,你所说的界面加载完是哪里加载完;最后,你说点击事件,是点击哪里的按钮,因为ppw一显示就会默认占领点击焦点。



正常的创建完就显示:

mPW = new PopupWindow(v, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, false);
mPW.showAsDropDown(mNumpad);

会导致 PopupWindow 在最顶部显示,无法正常的 View 左下方显示:

(Fragment 没有留空间给 PopupWindow 显示);

等应用加载完再通过点击事件显示 PopupWindow,PopupWindow 能正常的在 Tabs 位置显示。

你的ppw不是全屏的吗?LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT


并没有全屏显示,通过点击事件 PopupWindow 能正常的在 Tabs 的位置显示;
我在布局文件里设置了控件的高度。

你是不是把ppw放在你具体的一个控件里面?