Android I';m使用材质设计片段选项卡布局
目前我的问题是如何增加图像的宽度和高度?Android I';m使用材质设计片段选项卡布局,android,performance,android-layout,android-fragments,Android,Performance,Android Layout,Android Fragments,目前我的问题是如何增加图像的宽度和高度? 下面我提到了选项卡布局片段的图像 请任何人帮帮我 试试这个 1.表格布局的宽度 public void setIndicator (TabLayout tabs,int leftDip,int rightDip){ Class<?> tabLayout = tabs.getClass(); Field tabStrip = null; try { tabStrip = tabLayout.get
下面我提到了选项卡布局片段的图像 请任何人帮帮我 试试这个 1.
表格布局
的宽度
public void setIndicator (TabLayout tabs,int leftDip,int rightDip){
Class<?> tabLayout = tabs.getClass();
Field tabStrip = null;
try {
tabStrip = tabLayout.getDeclaredField("mTabStrip");
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
tabStrip.setAccessible(true);
LinearLayout llTab = null;
try {
llTab = (LinearLayout) tabStrip.get(tabs);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
int left = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, leftDip, Resources.getSystem().getDisplayMetrics());
int right = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, rightDip, Resources.getSystem().getDisplayMetrics());
for (int i = 0; i < llTab.getChildCount(); i++) {
View child = llTab.getChildAt(i);
child.setPadding(0, 0, 0, 0);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT, 1);
params.leftMargin = left;
params.rightMargin = right;
child.setLayoutParams(params);
child.invalidate();
}
}
我的修改没有反射(应该设置自定义视图!)。
for (int i = 0; i < tabs.getTabCount(); i++) {
TabLayout.Tab tab = tabs.getTabAt(i);
if (tab != null) {
View customView = tab.getCustomView();
if (customView != null) {
View targetViewToApplyMargin = (View) customView.getParent();
ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) targetViewToApplyMargin.getLayoutParams();
layoutParams.rightMargin = totalTabMargin;
targetViewToApplyMargin.setLayoutParams(layoutParams);
}
}
}
和java来设置高度
mTabLayout.setSelectedTabIndicatorHeight(10);
根据u可以通过使用选项卡中的自定义视图来实现这一点您的图标大小是多少?如果您没有我的,请给我自定义视图的示例代码。@Manoj Kumarmy图标大小是64*64-Sahadevrajput请查看此图茨以了解您的问题
app:tabIndicatorHeight="10dp"
mTabLayout.setSelectedTabIndicatorHeight(10);