java - Android 滑动标签 - 以编程方式设置标签的宽度

标签 java android android-layout android-studio

对于我的滑动标签项目,我如何以编程方式设置标签的宽度,以便它们使用滑动标签条的整个空间并且每个标签的宽度大小相等?我已尝试使用下面的代码,但选项卡不会按需要拉伸(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;
}

enter image description here

文本权重错误

text weight error

最佳答案

在你的方法中添加这个

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/

相关文章:

java - 将结果集转换为 json 的最佳方法是什么

屏幕旋转更改时内存快照中的Android多个 Activity 实例

Android 传感器 - 其中哪些获得直接输入?

android - 如何使用自定义布局作为 RadioButton 标签

android - 如何在 android 的 LinearLayout 中将第二项与父项对齐?

java - 将字符串解释为数字时数组无法正确排序

java - Eclipse 给出 : "An API baseline has not been set for the current work space." error

java - 从 JSF 1.2 迁移到 JSF 2.0 后,每次导航都会出现 ViewExpiredException

android - Robolectric 简单测试

安卓 3 : Simulating the behaviour of a soft-keyboard for a virtual piano keyboard