1.在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入 android:screenOrientation=”landscape” 属性。 landscape = 横向 portrait = 纵向 2.android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的。
禁止屏幕随手机旋转变化 有时候我们希望让一个程序的界面始终保持在一个方向,不随手机方向旋转而变化: 在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation=”landscape” 属性。 landscape = 横向 portra。
在manifest文件中加入 screenOrientation=“portrait” 限制屏幕竖屏显示 screenOrientation=“landscape” 限制屏幕横屏显示
使用嵌套布局 相对布局里面嵌套一个线性布局 可以防止出现分辨率混乱 这里我们使用相对布局嵌套一个线性布局可以完成 标题在最上方 最下方是一个ActivityGroup 右边的abcdef。选项条在最右边 这3个都是相对布局里的元素 然后 中间是一个线性布。
LZ可以试试android:screenOrientation="portrait"强制竖屏,然后通过传感器来检测是否旋转了屏幕。LZ可以先尝试一下啊加速度传感器看看,这个应该每个手机都会有
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE))//强制为横屏 或者在AndroidManifest.xml 里面添加android:screenOrientation=”landscape”
Android 平台提供了两类动画,一类是 Tween 动画,即通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果第二类是 Frame 动画,即顺序播放事先做好的图像,跟电影类似。本文分析 Tween动画的rotate实现旋转效果。
不同的androidtarget会有不同的大小,应用程序的界面需要针对不同的大小调整界面元素的尺寸。而且屏幕也可以在横屏和竖屏之间切换,界面也需要调整。
默认情况下,当屏幕方面切换时,activity的oncreate()方法会被重新调用,所以可以在其中通过以下代码来读取屏的方向:
public
void
oncreate()
{
if(this.getresources().getconfiguration().orientation
==
configuration.orientation_landscape)
{
log.i("info",
"landscape")
}
else
if
(this.getresources().getconfiguration().orientation
==
configuration.orientation_portrait)
{
log.i("info",
"portrait")}}
如果在androidmanifest.xml中加入配置
android:configchanges="orientation|keyboardhidden|navigation
当屏幕翻转时,activity就不会重复的调用oncreate()、onpause()和onresume().
而是调用onconfigurationchanged(configuration
newconfig)
int
screenwidth,screenheight
windowmanager
windowmanager
=
getwindowmanager()
display
display
=
windowmanager.getdefaultdisplay()
screenwidth
=
display.getwidth()
screenheight
=
display.getheight()
也有人提到另一种方法:
displaymetrics
dm
=
new
displaymetrics()
getwindowmanager().getdefaultdisplay().getmetrics(dm)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)