Я пытаюсь программно изменить высоту веб-просмотра (используется для отображения html) таким образом, что он выглядит как анимация / расширение. Мой код работает, но он отстает. Иногда он движется плавно, а иногда - медленно, часто скорость меняется во время движения. Мой код ниже. У кого-нибудь есть хорошие способы исправить это?
class ViewDropDownASynch extends AsyncTask<String,Void,String>{
WebView wv;
int height = 0;
LinearLayout.LayoutParams params;
int stop;
int step;
public ViewDropDownASynch(WebView v, int a, int o, int e){
wv = v;
params = new LinearLayout.LayoutParams(wv.getLayoutParams());
height = a;
stop = o;
step = e;
textAnimateExecute = true;
}
public String doInBackground(String... para){
for(int i = height; i != stop+step; i+=step){
params.height = i;
SystemClock.sleep(4);
this.publishProgress();
}
return "";
}
protected void onPostExecute(String result){
textAnimateExecute = false;
}
protected void onProgressUpdate(Void...values){
wv.setLayoutParams(params);
}