KVI*_*ISH 0 android android-viewpager
我可以在Buttons等上放置徽章编号,但有没有关于如何在视图寻呼机上放置徽章编号的示例?对于按钮我正在创建一个具有适当背景资源的xml等,但我无法找到任何方法将它放在PagerSlidingTabStrip.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:layout_marginTop="2dp"
android:background="@drawable/badge"
android:gravity="center"
android:paddingLeft="2dp"
android:paddingRight="2dp"
android:text="2"
android:textColor="@color/WHITE"
android:textSize="12sp"
android:textStyle="bold"
android:visibility="gone" />
Run Code Online (Sandbox Code Playgroud)
我将值设置为gonefirst并在需要时显示.有没有办法用视图寻呼机做到这一点?
你应该做一个小修改PagerSlidingTabStrip.
将这段代码插入到PagerSlidingTabStrip类中:
public LinearLayout getTabsContainer(){
return tabsContainer;
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以通过以下方式访问选项卡视图:
View currentTabView = pagerSlidingTabStrip.getTabsContainer().getChildAt(currentPosition);
您可以轻松使用https://github.com/jgilfelt/android-viewbadger,请按照以下示例操作:
在MainActivity中:
public static View currentTab;
private PagerSlidingTabStrip pagerSlidingTabStrip;
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
currentTab = pagerSlidingTabStrip.getTabsContainer().getChildAt(0);
return firstFragment;
case 1:
currentTab = pagerSlidingTabStrip.getTabsContainer().getChildAt(1);
return secondFragment;
case 2:
currentTab = pagerSlidingTabStrip.getTabsContainer().getChildAt(2);
return thirdFragment;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
在片段中:
BadgeView badge = new BadgeView(getActivity(), MainActivity.currentTab);
badge.setText("1"); //Whatever value you should add
badge.show();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1852 次 |
| 最近记录: |