我找到了以下关于如何设置customView
的文档。但是,当我将布局中的id
更改为" text1"和"图标",setText()
和setIcon()
不起作用。
public TabLayout.Tab setCustomView(int layoutResId)
设置要用于此选项卡的自定义视图。
如果膨胀的布局包含ID为
TextView
的{{1}},则会使用text1
的值更新。同样,如果此布局包含带有ID图标的setText(CharSequence)
,则会使用赋予ImageView
的值进行更新。
有人能举例说明这是如何运作的吗?
Java代码:
setIcon(Drawable)
布局代码:
TabLayout.Tab tabAdd = tabLayout.getTabAt(0);
tabAdd.setCustomView(R.layout.tab_layout_custom_view);
tabAdd.setText("Add");
tabAdd.setIcon(R.mipmap.add_tab).setText("Add");
答案 0 :(得分:5)
您需要使用系统资源标识符。也就是@android:id/text1
和@android:id/icon
。
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@android:id/icon"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:id="@android:id/text1"
android:gravity="center"
android:layout_below="@android:id/icon" />
如果您需要在代码中引用这些ID,则可以是android.R.id.text1
和android.R.id.icon
。