如何为adnroid应用程序中的所有活动设置背景并保持其宽高比?
我正在使用android:windowBackground
风格,但我不知道如何保持背景图像的宽高比。
是否只能手动为所有活动添加ImageView
背景信息?
答案 0 :(得分:1)
您可以将自己的基本活动定义为抽象类,并使应用程序中的所有其他活动从中扩展:
abstract class BaseActivity extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
// this is a generic way of getting your root view element
View rootView = (View) findViewById(android.R.id.content);
rootView.setBackgroundDrawable(getResources().getDrawable(R.drawable.your_image));
}
}
然后你应该在你想要的活动中扩展它:
public class YourActivity extends BaseActivity
答案 1 :(得分:0)
您可以在styles.xml
<style name="AppTheme.FullBackground" parent="AppTheme">
<item name="android:background">#757575</item>
</style>
(其中AppTheme
可能是您已定义的主题,我只是在那里使用了灰色,但它可以是一个可绘制的颜色)
然后添加到您的清单
<activity
android:name=".FooActivity"
android:theme="@style/AppTheme.FullBackground">
</activity>
由于您无论如何都必须向Manifest添加活动,因此这是检查所有活动是否具有背景的好方法。当然,您仍然可以扩展BaseActivity
并且只允许BaseActivity
类维护主题设置。