Tabhost-在Android选项卡中设置徽章位置

Ali*_*hiq 6 notifications tabs android tabwidget android-view

我是徽章概念的新手.在我的应用程序中,我想在一个选项卡上显示徽章.为此,我使用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();
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

当我在这里添加一个标签时,它看起来像这样

在此输入图像描述

我已经使用这些徽章属性

    badge1.setPadding(left, top, right, bottom);
    badge1.setTextSize(15);
    badge1.setBadgeMargin(5,5);
    badge1.setWidth(10);
Run Code Online (Sandbox Code Playgroud)

ber*_*erk 1

在 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();
Run Code Online (Sandbox Code Playgroud)

截屏: 屏幕

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

来源:我自己测试过。