便以理解,先贴代码
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 设置为全屏模式
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
}
我在res下新建了layout、layout-land、layout-port文件夹,并分别新建了main.xml,
<TextView
android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="layout-land" />每个main.xml里的text都显示为自己的文件夹名。最近发现,在横屏下(注意是手机横放)点击应用,它会调用layout-land下的布局,这很正常,但是把手机竖放的时候,它还是使用layout-land下的布局,也就是说TextView显示“layout-land”。
接着,我退出应用,在竖屏下(注意是竖屏)点击应用,它会调用layout-port下的布局,这很正常,但是把手机横放的时候,它还是使用layout-port下的布局,也就是说TextView显示“layout-port”。上面的应用是已经加了 android:configChanges="keyboardHidden|orientation",即支持横竖屏切换。我的问题是,进入应用后,如何横屏下TextView显示layout-land,切换到竖屏下显示layout-port?即横屏时使用layout-land布局,竖屏时使用layout-port布局,而不只是在横屏或竖屏下运行应用时才有效?
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 设置为全屏模式
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
}
我在res下新建了layout、layout-land、layout-port文件夹,并分别新建了main.xml,
<TextView
android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="layout-land" />每个main.xml里的text都显示为自己的文件夹名。最近发现,在横屏下(注意是手机横放)点击应用,它会调用layout-land下的布局,这很正常,但是把手机竖放的时候,它还是使用layout-land下的布局,也就是说TextView显示“layout-land”。
接着,我退出应用,在竖屏下(注意是竖屏)点击应用,它会调用layout-port下的布局,这很正常,但是把手机横放的时候,它还是使用layout-port下的布局,也就是说TextView显示“layout-port”。上面的应用是已经加了 android:configChanges="keyboardHidden|orientation",即支持横竖屏切换。我的问题是,进入应用后,如何横屏下TextView显示layout-land,切换到竖屏下显示layout-port?即横屏时使用layout-land布局,竖屏时使用layout-port布局,而不只是在横屏或竖屏下运行应用时才有效?
解决方案 »
- android 模拟器 GPS/Network 进行定位时出错
- 求助!!横竖屏切换时layout自动切换的问题
- 修改frameworks编译遇到不懂求教
- 如何编译framework。请高手指点
- 调用OnZoomChangeListener接口的onZoomChange方法
- android BaseExpandableListAdapter
- 【诚心请教】Activity嵌套的问题。大神快来!
- 安卓和JAVA程序提交post请求返回不一样
- ScrollView,当显示的长度,超过了屏幕高度
- 想制作一个android 蓝牙的一个APP用来控制带有蓝牙模块的设备怎么做?
- 需显示天气相关信息,在线等
- android应用中如何实现注销功能
应该这样理解:
在AndroidManifest.xml中未加android:configChanges="keyboardHidden|orientation"或
android:screenOrientation="portrait",并且在xxx.java文件里没有加setRequestedOrientation(mOrient)这句代码的话,运行程序,横屏下会调用layout-land里的布局,竖屏下会调用layout-port里的布局,默认调用layout布局。
加了上面任何一句话的话,在运行程序的时候,如里手机是横立的,则运行完毕后,一直使用的是layout-land里的布局。如里手机是竖立的,则运行完毕后,一直使用的是layout-port里的布局。