你的问题:如何禁用用户交互,而进度采用的是Android可见?
要禁用,你只需要添加以下代码
getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
得到用户的互动活动,你只需要添加以下代码
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
这里的用户交互是一个例子: 注:我只是给你一个例子▼如何禁用或保留用户交互
在xml.Something这样
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
android:visibility="gone"/>
添加一个进度条,在MainActivity当按下按钮你显示进度和禁用用户交互。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImageView = (ImageView) findViewById(R.id.imageView);
mProgressBar = (ProgressBar) findViewById(R.id.progressBar);
mImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mProgressBar.setVisibility(View.VISIBLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
}
});
}
当用户backPressed删除。如果您要添加的禁用功能,并灰色显示进度又保留用户interaction.Something这样
@Override
public void onBackPressed() {
super.onBackPressed();
mProgressBar.setVisibility(View.GONE);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
}
,你需要添加你的xml布局文件是一个填充父项的线性布局。将其背景设置为#B0000000,并将其可见性设置为“已完成”。比编程式将其可见性设置为可见。
希望得到这个帮助!
可能的复制(HTTP://计算器。 com/questions/2819778/custom-drawable-for-progressbar-progressdialog) –
@txteclipse我不想自定义进度条,我已经这样做了。 所以,我的问题是不重复的。 我只想禁用用户交互,而进度条是可见的,同样的方式,当ProgressDialog可见时,用户不能与其他UI控件交互而不关闭进度对话框。 现在我的问题是如何重复的问题。我的问题甚至与定制关系不大。 –
如果你想要一个对话框的所有功能,你应该使用一个对话框。例如,模态不是微不足道的:接受的答案不会阻止键盘交互。链接问题中的第二个答案演示了如何在ProgressDialog中使用自定义ProgressBar资源。如果这不能满足您的需求,您可以使用ProgressBar使用[自定义布局](http://developer.android.com/guide/topics/ui/dialogs.html#CustomLayout)。 –