Android形状不';t在seekbar上可进行拉伸

Android形状不';t在seekbar上可进行拉伸,android,Android,我使用垂直Seekbar库作为颜色选择器。我设法将ProgressDrawable设置为一个渐变形状,表示seekbar的颜色 LinearGradient test = new LinearGradient(0.f, conv.toPixels(170), 0.0f, 0.0f, new int[]{0xFF000050, 0xFF0000FF, 0xFF00FF00, 0xFF00FFFF, 0xFFFF0000

我使用垂直Seekbar库作为颜色选择器。我设法将ProgressDrawable设置为一个渐变形状,表示seekbar的颜色

LinearGradient test = new LinearGradient(0.f, conv.toPixels(170), 0.0f, 0.0f,
                new int[]{0xFF000050, 0xFF0000FF, 0xFF00FF00, 0xFF00FFFF,
                        0xFFFF0000, 0xFFFF00FF, 0xFFFFFF00, 0xFFFFFFFF},
                null, Shader.TileMode.CLAMP);
        ShapeDrawable shape = new ShapeDrawable(new RectShape());
        shape.getPaint().setShader(test);
    colorSeekbar.setMax(252 - 1);
    colorSeekbar.setProgressDrawable(shape);
在这里,我创建梯度并将其解析为一个形状。之后,我将该形状设置为seekbar的ProgressDrawable

LinearGradient test = new LinearGradient(0.f, conv.toPixels(170), 0.0f, 0.0f,
                new int[]{0xFF000050, 0xFF0000FF, 0xFF00FF00, 0xFF00FFFF,
                        0xFFFF0000, 0xFFFF00FF, 0xFFFFFF00, 0xFFFFFFFF},
                null, Shader.TileMode.CLAMP);
        ShapeDrawable shape = new ShapeDrawable(new RectShape());
        shape.getPaint().setShader(test);
    colorSeekbar.setMax(252 - 1);
    colorSeekbar.setProgressDrawable(shape);
最后,我添加了我的seekbar:

    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(conv.toPixels(80), conv.toPixels(200));
    params.setMargins(conv.toPixels(5), conv.toPixels(5), conv.toPixels(5), conv.toPixels(5));

    colorSeekbar.setThumb(ResourcesCompat.getDrawable(getResources(), R.drawable.seek_thumb_color, null));
    colorSeekbar.setOrientation(UniversalSeekBar.BOTTOM_TO_TOP);

    popUpBulbContainer.addView(colorSeekbar, params);

红色背景是
seekbar
的背景。渐变是
progressDrawable
的背景,蓝色背景是包含所有视图的水平
线性布局的背景。
您可以注意到拇指被设置在seekbar顶部,
progressDrawable
无法到达那里。
有什么办法可以解决这个问题吗?

线性布局似乎是正确的。这一定与活动布局文件中的父布局有关


如果要以编程方式添加所有这些元素,请确保将元素(PopuBulbContainer)附加到活动的顶部布局。

是的,所有操作都是以编程方式完成的,父级是一个弹出窗口。请尝试将弹出窗口布局设置为框架布局,并将包裹内容的宽度、高度和重心设置为中心