Android:带进度条的EditText?

我正在构build一个浏览器,并且在WebView的顶部有一个地址栏(如EditText)。 我想要做的就是在EditText的背景下以graphics方式呈现页面的加载,就像在iphone的浏览器中一样。 这可能吗?

谢谢


UPDATE

到目前为止,我已经尝试了ClipDrawable方法。 我所做的是拿着股票可绘制的android.R.drawable.editbox_background并创build2个版本 – 白色背景和蓝色(显示进度)。 然后我会像这样创build一个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太大或者移动到顶端。

你怎么看?

Solutions Collecting From Web of "Android:带进度条的EditText?"

看看这个链接 ,它讲述了重写ProgressBar的onDraw()方法并在其上绘制文本。 这应该让你至less开始。

您可以通过使用2个图像/形状作为EditText的背景Drawable并以编程方式更改其宽度来做到这一点

也许你可以使用ClipDrawable作为文本的背景。