如何使 tabhost 中的文本居中?

发布于 2024-12-05 07:54:08 字数 1209 浏览 1 评论 0原文

我有一个基本问题。在许多 tabhost 示例中,我们找到带有图像和文本的选项卡。

就我而言,我只想显示文本,但问题是我的文本水平居中而不是垂直居中(文本位于选项卡的底部)。

我尝试过: android:layout_gravity="center" 在框架布局中,但它不起作用。

请问你有什么想法吗?

我的 XML.

<TabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center">

    <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center">

        <TabWidget android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:layout_gravity="center"/>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center">

        </FrameLayout>

    </LinearLayout>

</TabHost>

已解决:由于以下教程,我自定义了选项卡:http://joshclemm.com/blog/?p=136

谢谢

I have a basic question. In many tabhost examples, we find tabs with image and text.

In my case, I would like to only display a text, but the issue is that my text is horizontally centered but not vertically (The text is at the bottom of my tab).

I tried : android:layout_gravity="center" in the framelayout, but it doesn't work.

Do you have any idea, please ?

My xml.

<TabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center">

    <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center">

        <TabWidget android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:layout_gravity="center"/>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center">

        </FrameLayout>

    </LinearLayout>

</TabHost>

solved : I customized my tabs thanks to the following tutorial : http://joshclemm.com/blog/?p=136

Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

多彩岁月 2024-12-12 07:54:08
  1. 尝试首先获取选项卡标题并显式设置重力和布局,如下所示:

    TextView textView = (TextView)tabHost.getTabWidget().getChildAt(0)
    .findViewById(android.R.id.title);
    textView.setGravity(Gravity.CENTER);        
    textView.getLayoutParams().height = ViewGroup.LayoutParams.MATCH_PARENT;
    textView.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT;
    

    希望这有帮助。

  1. Try to get the tab titles first and set gravity and layouts explicitly as shown below:

    TextView textView = (TextView)tabHost.getTabWidget().getChildAt(0)
    .findViewById(android.R.id.title);
    textView.setGravity(Gravity.CENTER);        
    textView.getLayoutParams().height = ViewGroup.LayoutParams.MATCH_PARENT;
    textView.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT;
    

    Hope this help.

枕花眠 2024-12-12 07:54:08
android:layout_width="fill_parent"   
android:layout_height="fill_parent"
android:gravity="center_vertical|center_horizontal"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_width="fill_parent"   
android:layout_height="fill_parent"
android:gravity="center_vertical|center_horizontal"
android:layout_gravity="center_vertical|center_horizontal"
GRAY°灰色天空 2024-12-12 07:54:08

使用下面的代码使选项卡文本居中:

RelativeLayout.LayoutParams param=newrelativeLayout.LayoutParams

(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

    param.addRule(RelativeLayout.CENTER_IN_PARENT);

TextView tv = (TextView) tabHost.getTabWidget().getChildAt(0)
            .findViewById(android.R.id.title); // Unselected Tabs
    tv.setTextColor(Color.parseColor("#505050"));
    tv.setTextSize(10);
    tv.setLayoutParams(param); 

Use the below to code to make tab text in center:

RelativeLayout.LayoutParams param=new

RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

    param.addRule(RelativeLayout.CENTER_IN_PARENT);

TextView tv = (TextView) tabHost.getTabWidget().getChildAt(0)
            .findViewById(android.R.id.title); // Unselected Tabs
    tv.setTextColor(Color.parseColor("#505050"));
    tv.setTextSize(10);
    tv.setLayoutParams(param); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文