我认为如果您想将背景更改为活动布局,您可以使用布局的 setBackground 方法来实现,例如:
activityLayout = (LinearLayout)findViewById(R.id.tableLayout1);
activityLayout.setBackgroundDrawable(getResources().getDrawable(R.id.somedrawable))
例如,您可以使用 SharedPreference 存储背景图像,然后在启动活动时读取包含背景的首选项。例如当用户选择背景时:
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefEditor.putInt("backgroudResourceId", userchoice);
prefEditor.commit();
当一个活动开始时,你必须从 SharedPreference 中读取 resourceId:
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
drawableid = myPrefs.getInt("backgroundResourceId", defaultvalue);
yourlayout.setBackground(drawableid);
其中 defaultvalue 是未设置首选项时的默认值。yourLayout 应该被初始化(以与活动布局相同的方式)。