如何为屏幕方向设置ActionBar背景

时间:2015-08-27 14:19:25

标签: android

我的ActionBar代码:

Drawable d=getResources().getDrawable(R.drawable.mod);  
getActionBar().setBackgroundDrawable(d);

我只是想为我的ActionBar Drawable设置屏幕方向。当我将方向转为垂直方向时,图片展开。我想要两个像这样的代码

//when the screen orientation is vertical 
Drawable d=getResources().getDrawable(R.drawable.mod);  
getActionBar().setBackgroundDrawable(d);

//when the screen orientation is horizontal 
Drawable d=getResources().getDrawable(R.drawable.mod);  
getActionBar().setBackgroundDrawable(d);

这可能吗?

1 个答案:

答案 0 :(得分:0)

覆盖您活动的onConfigurationChanged方法,例如

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        Drawable d=getResources().getDrawable(R.drawable.mod);  
        getActionBar().setBackgroundDrawable(d);
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
        Drawable d=getResources().getDrawable(R.drawable.mod);  
        getActionBar().setBackgroundDrawable(d);
    }
}

然后将以下内容添加到您的Android清单

<activity android:name="YourActivity"
       android:configChanges="keyboardHidden|orientation|screenSize">