我有一个非常好的对话框,可以满足我的需要。但我需要将其更新为新标准。
这是我当前的对话框:
public class MyProgressDialog extends Dialog {
private MyProgressDialog dialog;
public MyProgressDialog(Context context) {
super(context);
}
public MyProgressDialog show(Context context) {
dialog = new MyProgressDialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.progress);
dialog.getWindow().setBackgroundDrawableResource(
android.R.color.transparent);
dialog.setCanceledOnTouchOutside(false);
dialog.show();
return dialog;
}
public void dismiss(Context context) {
dialog.dismiss();
}
}
我已经将这个 NON-Fragment Dialog 与 Fragments 和 ListFragments(使用支持库 4)一起用作 ProgressDialogs。不幸的是,在具有多个片段的页面上,它们只是堆叠在一起。所以我想将每个对话框与每个片段相关联。
onPreExecute()
我在每个Task
's中以这种方式调用对话框:
dialog = new MyProgressDialog(getActivity());
是否可以调整我当前的设置以根据需要工作,或者我是否需要从头开始完全重做?我查看了来自 Google 的所有样本,但我找不到很多与我正在做的事情相近的东西。我可以在这次过渡中获得一些指导吗?无论是链接、代码示例还是要研究的想法?
编辑以回应以下评论:
@Override
public Fragment getItem(int position) {
Fragment f = null;
switch (position) {
case 0: {
f = new RateFragment();
Bundle args = new Bundle();
f.setArguments(args);
break;
}
case 1: {
f = new ReviewFragment();
Bundle args = new Bundle();
f.setArguments(args);
break;
}
default:
throw new IllegalArgumentException("not this many fragments: "
+ position);
}
return f;
}
平板电脑布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frags"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<fragment
android:id="@+id/cat_frag"
android:layout_width="450dp"
android:layout_height="match_parent"
class="com.---.---.RateFragmentActivity$RateFragment" />
<LinearLayout
android:layout_width="4dp"
android:layout_height="match_parent"
android:background="#222" />
<fragment
android:id="@+id/featured_frag"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.---.---.RateFragmentActivity$ReviewFragment" />
</LinearLayout>