Android:带进度条的 EditText?

标签 android progress-bar android-edittext

我正在构建一个浏览器,并且在 WebView 顶部有一个地址栏(作为 EditText)。我想做的是在 EditText 的背景中以图形方式显示页面的加载,就像在 iphone 的浏览器中一样。这可能吗?

谢谢


更新

到目前为止,我已经尝试了 ClipDrawable 方法。我所做的是采用库存可绘制 android.R.drawable.editbox_background 并创建 2 个版本 - 白色背景和蓝色背景(以显示进度)。然后我会像这样创建一个 LayerDrawable:

 barDrawable = addressBar.getBackground();

    Drawable progress = getResources().getDrawable(R.drawable.editbox_progress);
    cbarDrawable = new ClipDrawable(progress, Gravity.LEFT, ClipDrawable.HORIZONTAL);
    cbarDrawable.setLevel(0);

    layerlist = new LayerDrawable(new Drawable[] { barDrawable, cbarDrawable });

    addressBar.setBackgroundDrawable(layerlist);

然后我会在加载过程中调用 setLevel。现在的问题是有一些奇怪的问题,比如:白色的drawable太大或者移动到顶部。

你怎么看?

最佳答案

看看this link ,其中讨论了重写 ProgressBar 的 onDraw() 方法并在其上绘制文本。这至少应该让你开始。

关于Android:带进度条的 EditText?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5045920/

相关文章:

android - 以编程方式设置 EditText 数字

MediaMetadataRetriever : return null value 的 Android 问题

android - 两个给定日期之间的进度条 - Android Studio

python - 在 Python 中打印进度条处理

android - runOnUIThread 问题

java - onEditorAction 未在 fragment 中调用

android - 如何在 Android Studio 中设置数据绑定(bind)?

java - 清理 Android 主要 Activity 代码

安卓平板应用开发

android - 如何使用 For 循环在 android 中获取多个 EditText 值