我正在构建一个浏览器,并且在 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/