对齐动作条导航选项卡图标上面的标签文字? [英] Align ActionBar Navigation Tab icons above the tab text?

查看:109
本文介绍了对齐动作条导航选项卡图标上面的标签文字?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

该应用程序有一个动作条,以及动作条具有导航标签,每个包含文本。我需要图标添加到标签,除了文本

The app has an ActionBar, and the ActionBar has Navigation Tabs, each containing text. I need to add icons to the tabs, in addition to the text.

我添加使用 ActionBar.Tab.setIcon(绘制)成功的图标,但图标显示的标签文本的左边。

I have added the icons using ActionBar.Tab.setIcon(drawable) successfully, but the icon shows to the left of the tab text.

如何移动的标签图标,这是上面的导航标签的文字?

How do I move the tab icon so it is ABOVE the navigation tab text?

(我用ActionBarSherlock,但图中的解决方案,这将跨本地和ABS的实施工作)

(I'm using ActionBarSherlock, but figure the solution to this will work across native and ABS implementations)

推荐答案

您可以设置自定义视图每个选项卡。

You can set a custom view to each tab.

https://gist.github.com/3167287

PropositionListActivity.java

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.SherlockActivity;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.ImageView;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.NavUtils;

public class PropositionListActivity extends SherlockActivity implements ActionBar.TabListener {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); 

        setContentView(R.layout.proposition_list);

        getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        createTab(R.layout.tab_to_opine, R.id.tab_to_opine_title, "Vou Opinar");
        createTab(R.layout.tab_opined, R.id.tab_opined_title, "Já Opinei");
        createTab(R.layout.tab_feedback, R.id.tab_feedback_title, "Feedback");
    }

    public void createTab(int view, int titleView, String title) {
        ActionBar.Tab tab = getSupportActionBar().newTab();
        tab.setTabListener(this);
        tab.setCustomView(view);
        getSupportActionBar().addTab(tab);

        ((TextView) findViewById(titleView)).setText(title);
    }
}

tab_to_opine.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/tab_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/tab_to_opine"
        android:background="@android:color/transparent" />

    <TextView
        android:id="@+id/tab_to_opine_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

这篇关于对齐动作条导航选项卡图标上面的标签文字?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆