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 に答える