android - 带有两个选项卡的 TabLayout 一个 75% 其他 25%
问题描述
我正在一个有两个选项卡的屏幕上工作:
- 第一个必须具有屏幕的 75% 的宽度。
- 第二个必须具有屏幕的 25% 的宽度。
例子:
这就是我定义 TabLayout 的方式:
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMaxWidth="0dp"
app:tabMode="scrollable"
app:tabSelectedTextColor="@color/orange"
app:tabTextAppearance="@style/TabTextAppearance"
app:tabTextColor="@color/darkGrey" >
如何自定义标签布局以修复所需的宽度?
解决方案
您可以以编程方式进行。分别为不同的选项卡添加它们。
LinearLayout layout = ((LinearLayout) ((LinearLayout) tabLayout.getChildAt(0)).getChildAt(YOUR_TAB_NUMBER));
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) layout.getLayoutParams();
layoutParams.weight = YOUR_WEIGHT; // e.g. 0.5f
layout.setLayoutParams(layoutParams);
推荐阅读
- awesome-wm - 令人敬畏的窗口管理器中的抗锯齿
- azure-functions - 无法在 Visual Studio Mac 中更新 Azure Functions 核心工具
- html - 如何更改现有的登录表单以忽略密码管理器?
- powershell - Select-Object -ExcludeProperty 基于属性的值
- android - 如何使用存储在 Firebase 存储中的图像?
- sql-server - SQL Server Woocommerce API 连接在获取产品时提供 NULL,可正常处理订单
- docker - docker容器的主机没有响应-如何使主机独立于容器?
- java - 在 java 程序中使用 json 单元测试文件
- javascript - 使用装饰器时如何在 VueJS 中使用 Data 对象?“预计 'this' 将被类方法 'data' 使用。”
- linux - 连接到 Linux 机器时,Windows 以太网显示“网络电缆已拔出”