如何在Android中的标签栏中居中对齐文本

时间:2011-03-02 07:10:38

标签: android

我想只在标签栏中放置文字,没有图片......我想在标签栏中水平和垂直居中。正好在中心。

4 个答案:

答案 0 :(得分:32)

如果有人仍然对简单的解决方案感兴趣而没有创建自己的布局和样式:

  1. 为每个添加的标签使用android.widget.TabHost.TabSpec #setIndicator(CharSequence标签)
  2. 使用下一个代码居中并在选项卡中包装文本:

    int tabCount = tabHost.getTabWidget().getTabCount();
    for (int i = 0; i < tabCount; i++) {
        final View view = tabHost.getTabWidget().getChildTabViewAt(i);
        if ( view != null ) {
            // reduce height of the tab
            view.getLayoutParams().height *= 0.66;
    
            //  get title text view
            final View textView = view.findViewById(android.R.id.title);
            if ( textView instanceof TextView ) {
                // just in case check the type
    
                // center text
                ((TextView) textView).setGravity(Gravity.CENTER);
                // wrap text
                ((TextView) textView).setSingleLine(false);
    
                // explicitly set layout parameters
                textView.getLayoutParams().height = ViewGroup.LayoutParams.FILL_PARENT;
                textView.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT;
            }
        }
    }
    

答案 1 :(得分:2)

您可以将其添加到xml布局android:gravity="center"android:layout_gravity="center"

答案 2 :(得分:0)

试试这个对你有所帮助!

<?xml version="1.0" encoding="utf-8"?>
 <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
                   android:id="@+id/tabhost"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:padding="1dp" >

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

<TabWidget
    android:id="@android:id/tabs"
    android:layout_width="fill_parent"
    android:layout_height="60dp"
    android:layout_alignParentBottom="true" />

<FrameLayout
    android:id="@android:id/tabcontent"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="1dp" >
</FrameLayout>

答案 3 :(得分:0)

<android.support.design.widget.TabLayout
app:tabMode="fixed"
app:tabContentStart="0dp"