进度条的另外一种用法
进度条用在连接网络或者一些需要等待完成的任务中,因而可以感觉到时间在走.
可以在布局文件中加入一个圆形的进度条,能见度设置为gone,即不显示且不占用空间,当需要的时候再把它调出来,不需要了继续隐藏,其中setvisible可以设置的属性有三个,分别为
View.Gone:不显示且不占用空间
View.Visible:显示且占用空间
View.Invisible:不显示但占用空间.
下面举个例子:
布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="imqsl.com.explorer.UserActivities.LoginActivity"> <!-- Login progress --> <ProgressBar android:id="@+id/login_progress" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:visibility="gone" /> <ScrollView android:id="@+id/login_form" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/email_login_form" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <AutoCompleteTextView android:id="@+id/username_login" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="用户名" android:inputType="text" android:maxLines="1" android:singleLine="true" /> </android.support.design.widget.TextInputLayout> <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/password_login" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="密码" android:inputType="textPassword" android:maxLines="1" android:singleLine="true" /> </android.support.design.widget.TextInputLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/login_bt" style="?android:textAppearanceSmall" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginLeft="10dp" android:text="登录" android:layout_weight="1" android:textStyle="bold" /> <Button android:id="@+id/register_bt" style="?android:textAppearanceSmall" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginLeft="10dp" android:text="注册" android:layout_weight="1" android:textStyle="bold" /> </LinearLayout> </LinearLayout> </ScrollView> </LinearLayout>
进度条gone与visible时候效果分别如下:
可以通过分别设置进度条与登录框的可见状态来达到想要的效果.
private ProgressBar loginprogressbar; private View login_form; loginprogressbar = (ProgressBar) findViewById(R.id.login_progress); login_form = findViewById(R.id.login_form); loginprogressbar.setVisibility(View.VISIBLE); login_form.setVisibility(View.GONE);