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

标签 android

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

最佳答案

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

  1. 为每个添加的标签使用 android.widget.TabHost.TabSpec#setIndicator(CharSequence label)
  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;
            }
        }
    }
    

关于android - 如何在 Android 的标签栏中居中对齐文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5164443/

相关文章:

android - 使用 Google Cloud Messaging 云连接服务器 (XMPP) 的上游文件

android - 我如何找出给定应用程序包将响应哪些类型的操作和 URI?

android - MaterialCardview 需要 Theme.AppCompat

java - 我希望我的应用程序的用户使用 MyVideoPLayer 播放每个视频

java - 空点异常错误 - android.content.ContextWrapper.startService

Android opengl 着色器程序将图像从相机复制到 SSBO 以进行 TF-lite GPU 推理

android - service.startForeground 是否意味着唤醒锁?

android - Cocos2d : Activity class & CCLayer class

android - 如何解决android中的 "Conversion to Dalvik format failed with error 1"

android - 在 Android 代码中创建 SQLite 数据库的时间