我正在进行注册活动,我使用drawables资源进行交互。 TextWatcher和一些编码,然后(例子):
accordion_head.on('click', function(event) {
event.preventDefault();
$('.sub-menu').not($(this).next()).slideUp('normal').prev().removeClass('active');
$(this).next().stop(true,true).slideToggle('normal');
$(this).toggleClass('active');
});
现在,我完成了检查数据库电子邮件的任务。我希望在此任务获得结果时显示ProgressDialog。我尝试使用gif,但它没有正确的动画效果。我想要这样的东西:
注意:我希望通过" setCompoundDrawablesWithIntrinsicBounds"来实现这一点,一旦它已经格式化并适合该字段。但我可以采取其他方式。
谢谢!
答案 0 :(得分:1)
如果您愿意获得GIF并将其拆分为框架,AnimationDrawable课程将满足您的需求。
答案 1 :(得分:1)
这是我将如何做到的:
使用EditText
为ProgressBar
创建自定义XML。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:layout_width="match_parent"
android:id="@+id/edit"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_launcher"
android:singleLine="true" />
<ProgressBar
style="?android:attr/progressBarStyleLarge"
android:id="@+id/progress"
android:visibility="invisible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/edit"
android:layout_alignBottom="@id/edit"
android:layout_alignRight="@id/edit"/>
</RelativeLayout>
然后,将其包含在活动
中<include
android:id="@+id/field1"
layout="@layout/progress_edittext"
android:layout_centerInParent="true"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
然后在onCreate()
public class MainActivity extends ActionBarActivity {
private View field1;
private EditText edit;
private ProgressBar progress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
field1 = findViewById(R.id.field1);
edit = (EditText) field1.findViewById(R.id.edit);
progress = (ProgressBar) field1.findViewById(R.id.progress);
edit.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
progress.setVisibility(View.VISIBLE);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {}
@Override
public void afterTextChanged(Editable s) {
// YOUR LOGIC GOES HERE
}
});
}
}