对于我的滑动标签项目,我如何以编程方式设置标签的宽度,以便它们使用滑动标签条的整个空间并且每个标签的宽度大小相等?我已尝试使用下面的代码,但选项卡不会按需要拉伸(stretch)。
SlidingTabLayout.java
protected TextView createDefaultTabView(Context context) {
TextView textView = new TextView(context);
textView.setGravity(Gravity.CENTER);
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, TAB_VIEW_TEXT_SIZE_SP);
textView.setTypeface(Typeface.DEFAULT_BOLD);
textView.setTextColor(context.getResources().getColor(R.color.black));
textView.setWidth(0);
int padding = (int) (TAB_VIEW_PADDING_DIPS * getResources().getDisplayMetrics().density);
textView.setPadding(padding, padding, padding, padding);
return textView;
}
文本权重错误
最佳答案
在你的方法中添加这个
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
textView.setWidth(size.x / count); // Where count is number of textviews
另外,如果您支持旧版本
使用这个
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB_MR2)
{
display.getSize(size);
}
else
{
size.set(display.getWidth(), display.getHeight());
}
关于java - Android 滑动标签 - 以编程方式设置标签的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27707457/