当我按下按钮时,我想在我的应用程序中显示ProgressBar
。
问题是我不想使用ProgressDialog,因为我不想在对话框中使用微调器。我只想展示微调器,因此我只想展示ProgressBar。
我想以编程方式执行此操作。
答案 0 :(得分:2)
将此添加到您的布局。
<ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="invisible"></ProgressBar>
在您的javacode中,在您的活动中使用以下代码,并根据要求进行相应修改
ProgressBar viewProgressBar;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
viewProgressBar = (ProgressBar)findViewById(R.id.progressBar1);
Button btn1 = (Button) findViewById(R.id.button1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
viewProgressBar.setVisibility(View.VISIBLE);
// Your code follows here
}
});
}
当你想隐藏它时,只需使用
即可viewProgressBar.setVisibility(View.INVISIBLE);
答案 1 :(得分:1)
您可以将Spinner放入布局中,并为其指定以下属性:
android:visibility="gone"
或
android:visibility="invisible"
点击该按钮后,使用visible将可见性更改为View.setVisibility()。操作完成后,再次隐藏它。
答案 2 :(得分:1)
为实现此目的,您需要为活动创建两个重叠的容器。一个容器将包含您的活动视图,默认情况下将可见,第二个容器将包含中心的微调器,背景透明,默认情况下消失 。
现在要创建像这样的重叠效果,你需要将两个容器放在FrameLayout中。
注意:这里的容器是指像LinearLayout,RelativeLayout等ViewGroups。
<FrameLayout>
<LinearLayout
android:id="@+id/viewsContainer"
android:visibility="visible">
...
...
</LinearLayout>
<LinearLayout
android:id="@+id/spinnerContainer"
android:visibility="gone"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000">
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</FrameLayout>
我希望这会有所帮助。随意讨论。
答案 3 :(得分:0)
如果你想要的话,你应该使用ProgressBar视图而不是尝试使用ProgressDialog。
您可以做的是在ProgressBar已定位的情况下声明您的活动/片段的布局,然后为其提供已消失的可见性(View.GONE)。然后在您的代码中,单击您的按钮会将可见性更改为可见(View.VISIBLE)。
您也可以通过编程方式声明ProgressBar,它可以提供与使用XML布局相同的效果。