Android:在TabWidget中,有没有办法获取包含选项卡的视图?
大家好 我正在尝试编写一个选项卡活动,其中每个选项卡都有指示器的自定义视图。 视图是这样膨胀的:Android:在TabWidget中,有没有办法获取包含选项卡的视图?,android,tabs,android-tabhost,tabwidget,Android,Tabs,Android Tabhost,Tabwidget,大家好 我正在尝试编写一个选项卡活动,其中每个选项卡都有指示器的自定义视图。 视图是这样膨胀的: LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); specIndicatorView = inflater.inflate(R.layout.tab_indicator, null); i
LayoutInflater inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
specIndicatorView = inflater.inflate(R.layout.tab_indicator, null);
indicatorIv = (ImageView)specIndicatorView.findViewById(R.id.indicatorImage);
indicatorTv = (TextView)specIndicatorView.findViewById(R.id.indicatorText);
indicatorIv.setImageDrawable(context.getResources().getDrawable(indicatorImageRes));
indicatorTv.setText(indicatorTextRes);
问题是在子视图中定义的布局参数不会影响它,这是因为我不知道如何在父视图中传递给充气方法
我所要做的就是有一个图像和一些文本,其中图像与指示器视图的顶部对齐,文本与底部对齐,但我还需要一些小的调整,需要我使用这个指示器策略。
我已经查看了整个选项卡机制的源代码,但不知道如何获取父视图,您知道怎么做吗?
你有更好的方法来实现我的需求吗
谢谢您是否试图从某个选项卡活动中访问
选项卡主机
?如果是这样,您应该能够通过子活动访问TabHost
via。您说您已经查看了选项卡的所有代码;仅仅调用您的活动有什么问题?我实际上并不是想获取父活动,而是想获取“视图”对象,而且,当我尝试这样做并将其发送给充气机时,我在TabActivity的内部,您想获取哪个视图
对象?TabHost?无论tabindicator视图的容器是什么视图,看起来@Yoni Samlan的答案可能就是您当时正在寻找的。Hi Yoni,正如我之前所说,我需要一个“视图”对象,而tab小部件并不是这样。可以调用getChildTabViewAt()方法,但有两个问题:a)我想创建包含视图的子选项卡,但获取子选项卡视图只会为构建的选项卡返回它;b)这只返回内容视图,而不是更大的容器视图。我想我没有抓住这里的重点。如果要使用tabSpec的setIndicator
方法为选项卡使用自定义布局充气,只需使用getTabWidget()
而不是null
作为布局充气器的第二个参数。查看Google IO 2010调度应用程序:对不起,你是对的,我使用的是getTabWidget().findViewById(android.R.id.tabs),但是getTabWidget也可以工作,我忽略了tab widget也是一个视图组的事实。。。谢谢