1

我只是想问一下如何删除标签上出现的多余行。好吧,第一个选项卡没有一行,但是当我导航到下一个选项卡时,该行会出现,但只出现在左侧,这让我很困扰。这也只发生在ICS我记得的范围内。此外,起初我对此使用了渐变,但这并没有出现,但在我使用黑色背景后,问题就会出现。为了更好地理解这里是一个截图。

这是它最初的样子:

这就是它最初的样子

当我在选项卡上导航时,会出现以下行:

当我在标签上导航时,会出现该行

那么你可以看到左边的线。我怎样才能删除它?

哦,顺便说一句,你可以看到有分隔线(用于框标签的粗线)仅作为背景图像手动添加,我认为这不是这里的问题。无论如何,这是我的代码以供进一步审查。

private TabHost tabHost;
    Intent intent;

    public static String fname = "";
    public static String lname = "";
    public static String fid = "";
    public static String eadd = "";
    public static String gender = "";

    private void setupTabHost() {
        tabHost = (TabHost) findViewById(android.R.id.tabhost);
        TabWidget tabW = (TabWidget) findViewById(android.R.id.tabs);

        //tabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);
        tabW.setStripEnabled(false);


        setupTab(new TextView(this), "tab1", getResources().getDrawable(R.drawable.tab1tabicon), new Intent().setClass(this, tab1Activity.class).putExtra("fb_id", fid).putExtra("first_name", fname).putExtra("last_name", lname).putExtra("gender", gender));
        setupTab(new TextView(this), "tab2", getResources().getDrawable(R.drawable.tab2tabicon), new Intent().setClass(this, tab2Activity.class).putExtra("fb_id", fid).putExtra("first_name", fname).putExtra("last_name", lname).putExtra("gender", gender));
        setupTab(new TextView(this), "tab3", getResources().getDrawable(R.drawable.tab3tabicon), new Intent().setClass(this, tab3Activity.class).putExtra("fb_id", fid).putExtra("first_name", fname).putExtra("last_name", lname).putExtra("gender", gender));
        setupTab(new TextView(this), "tab4", getResources().getDrawable(R.drawable.tab4tabicon), new Intent().setClass(this, tab4Activity.class));
        //setupTab(new ImageView(this), getResources().getDrawable(R.drawable.icon));
        tabHost.setCurrentTab(0);

        tabHost.setup();
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        fname = getIntent().getStringExtra("fname");
        lname = getIntent().getStringExtra("lname");
        eadd = getIntent().getStringExtra("eadd");
        fid = getIntent().getStringExtra("fbid");
        gender = getIntent().getStringExtra("gender");

        setupTabHost();

    }

    private void setupTab(final View view, final String tag, Drawable drawable, final Intent i) {
        View tabview = createTabView(tabHost.getContext(), tag, drawable);
        TabSpec setContent = tabHost.newTabSpec(tag).setIndicator(tabview).setContent(i);
        tabHost.addTab(setContent);
    }

    private static View createTabView(final Context context, final String text, final Drawable icon) {
        final View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);
        TextView tv = (TextView) view.findViewById(R.id.tabsText);
        tv.setText(text);

        ImageView bg_icon = (ImageView) view.findViewById(R.id.tab_bg);
        bg_icon.setImageDrawable(icon);
        return view;
    }

我非常需要将其删除,因为它会刺激我的眼睛,而且我浪费了一天的时间来寻找答案,最终还是在这里问它。哈哈!提前感谢那些可以提供帮助的人。

4

1 回答 1

1

确保您的 rsvptabicon 与您正在使用的其他选项卡图标没有什么不同。我很确定这条线与您的可绘制对象有关。

于 2012-10-03T13:41:45.353 回答