我正在创建一个可重复使用的加载屏幕以在活动之间使用,在LoadingActivity上我添加了一个半透明的背景资源,但我无法看到旧的活动。
public class LoadingActivity extends Activity {
public static int REQUEST_LOADING_SCREEN = 40;
@Override
protected void onCreate(Bundle savedInstance) {
super.onCreate(savedInstance);
FrameLayout mainLayout = new FrameLayout(this);
mainLayout.setBackgroundResource(R.drawable.background_translucent);
LinearLayout layout = new LinearLayout(this);
layout.setGravity(Gravity.CENTER);
LayoutParams params = LayoutParamsFactory.newMatchFrameLP();
params.gravity = Gravity.CENTER;
mainLayout.addView(layout, params);
ProgressBar bar = new ProgressBar(this);
bar.setIndeterminate(true);
layout.addView(bar, LayoutParamsFactory.newWrapLinearLP());
TextView text = new TextView(this);
text.setText("Loading...");
layout.addView(text, LayoutParamsFactory.newWrapLinearLP());
setContentView(mainLayout);
}
public static void openFor(Activity activity) {
Intent intent = new Intent(activity, LoadingActivity.class);
activity.startActivityForResult(intent, REQUEST_LOADING_SCREEN);
}
public static void closeFrom(Activity activity) {
activity.finishActivity(REQUEST_LOADING_SCREEN);
}
}
编辑:
即使:
mainLayout.setBackgroundColor(Color.TRANSPARENT);
layout.setBackgroundColor(Color.TRANSPARENT);
背景仍为黑色
答案 0 :(得分:18)
您是否尝试通过清单文件在活动上设置主题?
<activity android:name=".LoadingActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />