Ami*_*mar 8 android android-design-library android-tablayout
自定义始终以Tablayout为中心.tablayout如下.如何获得其父级可用的完整空间,即TabView.
<android.support.design.widget.TabLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/tablayout"
android:layout_width="match_parent"
app:tabPaddingStart="0dp"
app:tabPaddingEnd="0dp"
android:layout_height="90dp">
</android.support.design.widget.TabLayout>
Run Code Online (Sandbox Code Playgroud)
添加如下所示的textview
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_purple"
android:gravity="center_horizontal">
<TextView
android:text="Hello !"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
但不幸的是,它总是居中,永远不会占据整个空间.问题是我不能在标签之间提供分隔符,因为它始终位于中心.
用于添加标签的Java代码:
TabLayout v = (TabLayout)findViewById(R.id.tablayout);
TabLayout.Tab tab = v.newTab();
tab.setCustomView(R.layout.content_main);
v.addTab(tab);
tab = v.newTab();
tab.setCustomView(R.layout.content_main);
v.addTab(tab);
tab = v.newTab();
tab.setCustomView(R.layout.content_main);
v.addTab(tab)
Run Code Online (Sandbox Code Playgroud)
我分享了这张图片@ http://i60.tinypic.com/11cdvyf.jpg
错误已在此处注册:https: //code.google.com/p/android/issues/detail?id = 190429
虽然您可以通过膨胀自定义视图然后手动应用布局参数来解决此问题:
View v = LayoutInflater.from(this).inflate(R.layout.view_goal_tab_active, null);
TextView tv = (TextView)v.findViewById(R.id.goal_tab_active_tv);
tv.setSelected(true);
v.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
mTabs.getTabAt(0).setCustomView(v);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4442 次 |
| 最近记录: |