各タブの間に余白を設定したい。タブ間にテキストの間隔を作るためにsetTextSpacing(int textSpacing)を持つPagerTabStripのように。 TabLayoutでこれを行うことはできますか?TabLayout各タブの間隔または余白を設定する
5
A
答えて
20
もしばらくの間、この問題を戦って、このスレッドで解決策を見つけた:Android Design Support Library TabLayout using custom tabs layout but layout wrapping the tabs
<!-- Add the padding to tabPaddingStart and/or tabPaddingEnd -->
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/tab_layout_height"
app:tabPaddingStart="10dp"
app:tabPaddingEnd="10dp">
2
tabMinWidth属性を使用できます。このような
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="44dp"
app:tabIndicatorColor="@color/default_enable"
app:tabTextColor="@color/font_default_03"
app:tabSelectedTextColor="@color/default_enable"
app:tabMinWidth="50dp"
android:clipToPadding="false"
android:paddingLeft="4dp"
android:paddingRight="4dp" />
0
レイアウト
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
javaの
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout);
int betweenSpace = 100;
ViewGroup slidingTabStrip = (ViewGroup) tabLayout.getChildAt(0);
for (int i=0; i<slidingTabStrip.getChildCount()-1; i++) {
View v = slidingTabStrip.getChildAt(i);
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
params.rightMargin = betweenSpace;
}
-1
これはどのようにあります4つのdiffeのマージンを設定するレンタルタブ。 setMargins(v1、v2、v3、v4)関数の値を変更して、作業しているタブの数に適したフィッティングを得ることができます。私はこれが役立つことを願っています tabHostは、作業している別のタブをホストするTabHostのオブジェクトです。
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
View currentView;
for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)
{
//This code removes divider between tabs
tabHost.getTabWidget().setDividerDrawable(null);
tabHost.getTabWidget().getChildAt(i).setLayoutParams(new
LinearLayout.LayoutParams((width/8)-2,50));
currentView = tabHost.getTabWidget().getChildAt(i);
LinearLayout.LayoutParams currentLayout =
(LinearLayout.LayoutParams) currentView.getLayoutParams();
currentLayout.setMargins(30, 5, 80, 0);
}
-1
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMinWidth="0dp"
app:tabMode="scrollable"
/>
+1
デフォルトでは、アンドロイドはいくつかのminWidthを与えます。これにより、各タブの最小幅がいくつかあります。幅をwrap_contentとして与えたい場合は、minWidth = "0dp"とし、タブ間にスペースが必要な場合は、tabPaddingStart = "10dp"とtabPaddingEnd = "10dp"を指定します –
関連する問題
- 1. BrowseFragmentのアイテム間の余白を設定します
- 2. アンドロイドに最新のTabLayoutを設定した上げたタブ
- 3. QTextEditの行間隔を設定する
- 4. TCPDFの設定下余白ゼロ
- 5. Googleチャットテーブル内のセルに余白または余白を追加
- 6. リニアレイアウトから2つのボタンの間にプログラムで余白を設定する
- 7. ラベルの下に余白を設定する方法は?
- 8. JFreeCharts TimeSeriesChartドメイン間隔を設定する
- 9. UiSlider間隔を0.5に設定する
- 10. Javaコードで印刷する余白を設定します
- 11. CSSはページ余白の下限を設定できません
- 12. インラインリストの余白または余白の使用
- 13. 印刷プレビューで余白0を設定するには?
- 14. Swiftのcollectionviewセル間の間隔を設定する方法は?私はコレクションビューセルの行の間の間隔を設定するにはどうすればよい
- 15. tablayoutを使用してビューページ内の現在のタブを設定する方法
- 16. wpfの内部TextBoxViewの余白を設定する方法
- 17. 間隔を設定するためのJavascript
- 18. WPFタブのコントロールヘッダー間の間隔
- 19. タブ間の不均一な間隔
- 20. 段落の左余白をhtmlに設定する
- 21. WYSIWYGテキストプロセッサ、印刷の余白を設定する
- 22. android:PopupWindowの余白をコードで設定する
- 23. ボタンの余白をプログラムで設定する
- 24. C#でWord 2010文書の余白を設定する
- 25. JFreechart:各シリーズを一定間隔でカウントする
- 26. CSSフロート画像、各行の余白を削除します
- 27. 余白が0に設定されている場合、余白が空白になる
- 28. TabLayoutのタブを無効にする
- 29. メインコンテナの余白はまだ0に設定されていますまだ余裕があります
- 30. アプリケーションエンジンで時間間隔を設定する方法
あなたの仕事に感謝します。 –