其他分享
首页 > 其他分享> > Tabhost-在Android标签中设置徽标位置

Tabhost-在Android标签中设置徽标位置

作者:互联网

我是徽章概念的新手.在我的应用程序中,我想在一个选项卡上显示徽章.为此,我使用了android-viewbadger.jar文件Android ViewBadger
4个标签可以正常工作

    TabWidget tabs = (TabWidget) findViewById(android.R.id.tabs);
    badge1 = new BadgeView(this, tabs, 1);
    badge1.setText("155");
    badge1.setBadgePosition(BadgeView.POSITION_BOTTOM_RIGHT);
    badge1.toggle();

当我在此处添加一个选项卡时,它将看起来像这样

我已经使用了这些徽章属性

    badge1.setPadding(left, top, right, bottom);
    badge1.setTextSize(15);
    badge1.setBadgeMargin(5,5);
    badge1.setWidth(10);

解决方法:

在TabWidget上设置标志只会在可绘制对象和TabWidget边界之间的可用空间中显示标志,因此添加更多标签将压缩标志.而不是使用setIndicator(String,Drawable),请尝试以下操作:

    ImageView iv = new ImageView(this);
    iv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT));
    iv.setImageResource(R.drawable.whoseinterested);
    whosespec.setIndicator(iv);
    Intent whoseIntent = new Intent(this, BlankActivity.class);
    whosespec.setContent(whoseIntent);

    tabHost.addTab(whosespec);

    badge1 = new BadgeView(this, iv);
    badge1.setText("155");
    badge1.setTextSize(15);
    badge1.setBadgeBackgroundColor(Color.BLACK);
    badge1.setTextColor(Color.WHITE);
    badge1.toggle();

截图:

您可以在屏幕快照中清楚地看到带有徽章的选项卡中的图像向中心偏移.如果图像与其标签边界之间没有空格,则将无法正确显示该图像.

资料来源:自我测试.

标签:android,tabs,notifications,android-view,tabwidget
来源: https://codeday.me/bug/20191010/1888409.html