【问题标题】:Programmatically add background images to android seekbar以编程方式将背景图像添加到 android seekbar
【发布时间】:2012-10-17 11:25:19
【问题描述】:

我想通过 java 代码而不是 xml 将背景图像添加到我的搜索栏。我希望我的搜索栏看起来像下图。

http://imageshack.us/a/img32/3834/sliderbar.png

我的搜索栏也是通过 java 代码创建的,不使用任何 xml 文件。

我不想引用任何xml文件来做这件事,一切都应该通过代码来完成!

有人可以帮忙吗?提前致谢。

【问题讨论】:

  • 我在 drawable-hdpi 文件夹中创建了名为 progress.xml 和 thumb.xml 的 xml 可绘制文件,并在 layout 文件夹的 seekbar.xml 中引用了它们
  • 所以我不明白你的问题

标签: android


【解决方案1】:

尝试使用SeekBarsetThumbsetProgressDrawablesetBackground 方法!如果你真的想要一个很酷的自定义搜索栏,比如this,我建议你尝试引用 xml 文件。它会让你的生活更轻松。

我写了一个简单的例子,可以给你一个起点。

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);//the layout that has your seekbar

        SeekBar mSeekBar = (SeekBar)findViewById(R.id.seek_bar);//your seek bar

        mSeekBar.setThumb(R.drawable.thumb_image);//your thumb image
        mSeekBar.setProgressDrawable(R.drawable.progress_image);//your progress image
        mSeekBar.setBackground(R.drawable.background_image);//your background image
    }
}

【讨论】:

  • 我尝试引用 xml 文件,但总是出现 ResourceNotFoundException,即使在清理和重建我的项目数百次后,我也无法摆脱它。我的 xml 文件中没有错误。基本上我想避免通过 xml 进行硬编码。
  • 我希望搜索栏看起来和上图一模一样,这段代码没有给我。
  • 这个例子只是根据你的问题的解决方案的想法。也许您可以根据项目的xml文件更改参数...
  • 在这种情况下,有什么方法可以通过 xml 文件以编程方式执行我们通常通过 xml 文件执行的操作吗?我的意思是通过java代码定义layerlist drawables。
  • 当然!您可以实例化您的View 并以与上例相同的方式一一设置参数。
【解决方案2】:

在搜索栏剪辑上试试这个

Drawable thumb = ContextCompat.getDrawable(getActivity(), R.mipmap.cir_32);
mSeekBar.setThumb(thumb);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多