Articles of 方向

Android – 仅限1页固定屏幕方向(phonegap)

我在修复index.html页面的屏幕方向时遇到问题。 我想允许应用程序旋转,但主页上除外。 我明白将以下内容添加到您的活动中 – android:screenOrientation =“portrait”会阻止屏幕旋转。 但是,我需要设置它,以便它是特定于页面的。 我正在使用phonegap,因此需要停止我的网页浏览页面。 我尝试在我的清单中调用以下活动 – com.phonegap.droidgap.index.html,但这不起作用。 有人可以建议我如何定义1页的固定方向吗? 提前致谢

当我的Android设备不平时,我应该如何计算方位角,音高,方向?

我正在使用Android重力和磁场传感器通过SensorManager.getRotationMatrix和SensorManager.getOrientation计算方向。 这给了我方位角,俯仰和方向数。 当设备平放在桌子上时,结果看起来很合理。 但是,我已禁用清单中纵向和横向之间的切换,因此getWindowManager()。getDefaultDisplay()。getRotation()始终为零。 当我将设备旋转90度以使其垂直竖立时,我遇到了麻烦。 有时这些数字似乎非常错误,我意识到这与万向节锁相关 。 但是,其他应用程序似乎没有这个问题。 例如,我将我的应用与两个免费的传感器测试应用( 传感器测试仪(Dicotomica)和传感器监测(R软件) )进行了比较。 当设备平坦时,我的应用程序同意这些应用程序,但是当我将设备旋转到垂直位置时,可能会有很大差异。 这两个应用程序似乎彼此一致,那么他们如何解决这个问题呢?

android设置活动方向的代码

可以在清单文件中设置活动的方向。 但是也可以从代码中做到吗? 如果是这样,怎么样? 谢谢!

EditText焦点在布局之间不一致

我有两个不同的main.xml文件,一个用于纵向,一个用于布局。 每个人都在Scrollview内部的RelativeLayout中包含此代码。 等…… 奇怪的是:据我所知,你不应该能够引用xml中尚未发生的事情,所以android:nextFocusDown =“@ id / phone”应该会失败,因为手机还没有声明; 这就是我的风景xml中发生的事情,但不是肖像。 在肖像中它完美地工作,并通过所有四个EditTexts传递焦点,没有任何障碍。 如果我将NextFocusDown放入格局中,它将无法编译,声明“找不到与给定名称匹配的资源(在’nextFocusDown’处,值为’@id / phone’)。” 解决方案或解释会很棒。 我的想法是,我在两个不同的LinearLayouts中有四个文本框,无论哪一个首先将焦点传递给它下面的EditText,跳过其他的。 我想让它工作,因为我有纵向布局,当用户点击名称旁边,焦点移动到手机,当他们点击下一个,它移动到电子邮件,等等。我也很好奇为什么它是让这个工作在肖像而不是景观。

getRotationMatrix和getOrientation教程

我一直在努力使用getOrientation获取设备的实际方向。 通过TYPE_ACCELEROMETER和TYPE_MAGNETIC_FIELD获取加速度计和磁场读数非常简单,通过TYPE_ORIENTATION获取方向也是如此。 但是使用getOrientation根据世界坐标系获取方向。 这里和这里有很多很好的教程,但我还没有把它们放在一起。 为此,我正在开发一个应用程序,它只是从getOrientation中吐出Accelerometer,Magnetic Field,原始Orientation数据和Orientation数据。 我已经附加了代码,但它在我的手机上一直失败。 有什么建议么? package com.sensorall; import com.sensorall.R; import android.hardware.*; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class OrientationAccelerometer extends Activity { SensorManager sensorManager; float[] mGravs = new float[3]; float[] mGeoMags = new float[3]; float[] mRotationM = new float[16]; float[] mInclinationM = new float[16]; float[] mOrientation = new float[3]; float[] mOldOreintation […]

如何通过支持自然景观设备来检测景观左(正常)与景观正确(反向)?

我想做什么: 检测设备的当前布局方向(纵向,横向 – 左侧,纵向(上下颠倒),横向 – 右侧) 区分两种可能的横向模式(靠左侧,靠右侧) 支持将景观作为其自然状态的设备( 例如 , 此处讨论 ) 支持<2.2(不能使用getRotation() ) 为了澄清,我想知道布局目前的方向。布局的底部是哪个方向? 是肖像吗? 它在风景中吗? 景观是左还是右? 等等 我能find的最接近的是Activity.getResources()。getConfiguration()。orientation ,但它只返回三个可能的值。 ORIENTATION_LANDSCAPE,ORIENTATION_PORTRAIT或ORIENTATION_SQUARE。 它没有说哪种types的景观。 所以,我想,如果我能得到设备的方向值(如90,180,270等)并将其与上面的配置值进行比较,我可以算出来。 例如,如果配置值为ORIENTATION_LANDSCAPE且方向为270,我可以判断它处于反向横向模式。 但是,似乎没有一种简单的方法来获取方向值。 我可以实现一个OrientationEventListener ,但这似乎有点过头了,因为我只需要在特定时间获取一次值,而不是经常。 Display类中有两个值,但不推荐使用getOrientation , getRotation仅适用于2.2及更高版本。 现在,即使我确实得到了这个价值,仍然存在自然景观的设备问题。 意味着他们的0值将是风景而不是肖像。 所以我还需要一个确定的方法来判断哪个(横向左,横向右或纵向)对应于0。 关于方向和类似问题,有很多关于SO的post,但我没有看到任何考虑所有这些问题的post。 有没有人想到这个? 完成所有操作后,我想要像Activity.getResources()。getConfiguration()。orientation这样的东西,但能够告诉它是哪种横向模式。

Android VideoView无法播放纵向方向

平台:使用Android SDK 16在Eclipse中开发。 问题:我有一个VideoView元素应该以480×800(PORTRAIT ORIENTATION)填满整个屏幕,它可以很好地播放,但不会定向到肖像。 它坚持横向模式,纵横比倾斜以适应这种方式。 我曾经尝试过什么: 在清单中使用android:screenOrientation =“portrait” 在容器和VideoView本身使用android:orientation =“vertical” 使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 就在我调用setContentView之前 尝试将布局宽度和高度设置为480dpx800dp而不是fill_parent 尝试将VideoView宽度和高度设置为480px x 800dp而不是fill_parent 关闭自动旋转显示 XML: 代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); setContentView(R.layout.activity_start_screen); VideoView videoView = (VideoView) findViewById(R.id.opening_video); Uri pathToVideo = Uri.parse(“android.resource://com.example.consumerengage/” + R.raw.opening_tablet); videoView.setVideoURI(pathToVideo); videoView.setOnPreparedListener(new OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mp.setLooping(true); } }); videoView.requestFocus(); videoView.start(); […]

在ViewPager中滑动方向

我有一个使用ViewPager和FragmentStatePagerAdapter的Android应用程序。 然而,我需要添加一个新function,我必须知道滑动方向从一个片段视图移动到另一个,左或右。 (也就是说,当我向左滑动时,我会做一件事,当我向右滑动时,我会做其他事情)。 请注意,我不需要在滑动结束后发生事件。 滑动发生时我必须做这些事件。 我想过使用setOnPageChangeListener()但它并没有告诉我滑动方向。 你能告诉我如何找出滑动方向吗? 谢谢。

通过屏幕旋转保持GridView的滚动位置

如何在整个屏幕重定向中保持GridView的滚动位置(它充满了搜索结果)? 我在片段中有GridView,当我旋转屏幕时,它会跳回到列表的顶部。 为了使它更加棘手,在横向模式下,我的GridView有3列..在纵向模式下它有2列。 我似乎无法弄清楚如何保持片段的GridView滚动到屏幕方向改变时应该接近的位置。

更改Bluestack的方向:纵向/横向模式

如果使用模拟器,按CTRL-F12我们将更改纵向或横向模式。 我怎么能用BlueStack做到这一点?