我使用eclipse在AVD模拟器中运行我的应用程序但是我无法在AVD(模拟器上的Android 2.0平台)中更改屏幕方向.
当我按下键盘上的CTRL+ F11或CTRL+ F12时,没有任何反应.当我按下任一热键时,adb debuglog/logcat中不会生成任何消息.
根据http://developer.android.com/guide/developing/tools/emulator.html,这些是切换模拟器屏幕方向的正确热键.
我用我的应用程序和消息应用程序尝试了它.热键在任何情况下都没有影响.
我正在运行Fedora 12,Gnome.我在系统 - >首选项菜单中检查了我的键盘快捷键,没有附加到任何一个热键.
同样的问题,3台不同的PC(都运行Fedora Gnome).
android screen-orientation android-virtual-device android-emulator
我正在尝试显示URL中的图像,该图像可能大于屏幕尺寸.我有点工作,但我希望它可以缩放以适应屏幕,当屏幕方向改变时我也有问题.图像很小,我希望它的宽度也可以缩放到屏幕上.(在这两种情况下,我都希望图像用滚动条填充屏幕宽度(如果需要高度).
这是我的ImageView:
<ImageView android:id="@+id/ImageView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scaleType="fitCenter"
android:adjustViewBounds="true">
</ImageView>
Run Code Online (Sandbox Code Playgroud)
这是加载图像的java代码:(为简单起见,删除了一些错误处理代码)
Object content = null;
try{
URL url = new URL("http://farm1.static.flickr.com/150/399390737_7a3d508730_b.jpg");
content = url.getContent();
}
catch(Exception ex)
{
ex.printStackTrace();
}
InputStream is = (InputStream)content;
Drawable image = Drawable.createFromStream(is, "src");
Image01.setImageDrawable(image);
Run Code Online (Sandbox Code Playgroud)
我尝试过android:scaleType的不同设置.如果以前曾问过这个问题,我很抱歉.我已经完成了很多关于这个主题的教程,但它们似乎对我没用.不确定它是否与图像的加载方式有关.(来自网络而不是本地资源)
另一个问题是有时图像甚至无法加载.没有运行时错误,我在ImageView中什么都没得到.
如果您需要更多信息或说明,请与我们联系.
我正在Android设备上运行一系列自动化测试,这些设备托管在本地服务器上的html页面中.有些测试需要在Portrait中运行,有些需要在横向上运行.我试图找到以编程方式检查和更改设备或浏览器方向的方法.
目前我正在使用Python/Jython/Monkeyrunner/ADB编写,但如果有其他来源的解决方案,我可以切换.
将运行基本测试:
检查方向/更改方向打开网址激活测试页面获取结果重复
我试过"服务电话窗口18 i32 1",这对我来说是理想的,但我只会得到错误,即"结果:包裹(fffffffc ffffffff'........')"
有没有办法把它称为浏览器/ android的活动?有没有办法欺骗倾斜事件来触发变化?这可以在应用程序中完成,安装并作为包运行吗?
对不起,似乎我不清楚.我不会使用模拟器,而是一系列实际的Android设备,通过USB连接.关于这个主题的任何帮助都将受到赞赏,包括确定没有预定义的方法来实现这一点.谢谢,
http://developer.android.com/reference/android/R.attr.html#screenOrientation
sensorPortait是错字吗?我看到引导人们使用sensorPortrait的线程,但我的eclipse与sensorPortait一起工作.
我实现了一个嵌入了视频播放器的电子阅读器,我需要一个从播放器切换全屏模式的选项.
我的问题如下:
这是在全屏播放视频的最佳方式,让用户从此状态返回到之前正在阅读的页面,并保留视频的当前时间.
我需要处理的另一个复杂情况是:
在纵向和横向上有一个页面的不同可视化,如果用户在纵向上切换全屏并旋转设备,则视频应转到横向模式并重新缩放视频以适合屏幕,但如果用户从此页面返回,则应该再次回到肖像.
如果需要,我可以提供更多信息.提前致谢
android screen-orientation android-video-player orientation-changes android-orientation
描述
我有一个活动,在表面视图上显示相机预览.我不希望它在方向更改时重新启动(因为它不断扫描QR码),因此方向被锁定为纵向.
我遇到的问题是我需要在屏幕底部向用户显示屏幕上的说明.鉴于屏幕被锁定在一个方向,我不会收到新方向的通知,因为活动没有重新绘制.因此,无论手机处于纵向,纵向,横向还是尊重的景观,指令都在同一个地方呈现.
为了解决这个问题,我联系了传感器管理器,实时读取方向.(请参阅下面的代码)阅读完之后,我自己制定了方向,并根据需要移动我的说明,因为每次更新都会发送给我.到目前为止,这一直对我有用.在华硕Transformer Prime和Xoom平板电脑上进行测试时.平板电脑将方向返回为"90"表示纵向,而不是像其他2部手机一样返回"0".因此,您可以在下面的代码中看到,我检查平板电脑(大屏幕)并减去额外的90度.
问题
问题是新的Nexus 7平板电脑没有这种额外的偏见.在肖像中它返回"0",但我将其检测为平板电脑,因此减去90度因此结果为270并且它将我的指示放置为平板电脑处于横向模式.我假设背后的原因是Xoom/Transformer设计用于横向,Nexus用于纵向,但除非我知道所有受影响的设备,否则无济于事.
题
是否有一种可靠的方法来检测所有设备的方向并"实时"返回结果,如下面的代码所示,但是考虑到设备的默认方向(即Phones + Nexus 7是纵向,但大多数平板电脑都是景观)?
现行守则
boolean large = ((getBaseContext().getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE);
boolean xlarge = ((getBaseContext().getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == 4);
isTablet = large || xlarge;
myOrientationEventListener = new OrientationEventListener(getBaseContext(), SensorManager.SENSOR_DELAY_NORMAL)
{
@Override
public void onOrientationChanged(int orientation)
{
if (orientation == -1)
{
return;
}
if (isTablet)
{
orientation += -90;
if (orientation < 0) // keep the result between 0-360
{
orientation += 360;
}
}
// Work out the …Run Code Online (Sandbox Code Playgroud) android sensor orientation screen-orientation android-sensors
我正在捕捉这样的orientationchange事件:
$(window).bind( 'orientationchange', function(e){
});
Run Code Online (Sandbox Code Playgroud)
如何获得新的屏幕宽度和高度(以像素为单位)orientationchage?
我已经尝试screen.width但是这没有改变,它仍然是初始宽度,即使在方向改变之后.
读完这篇文章之后,我觉得还有一个未解答的问题就是检测一个UWP应用程序是否在一个只适合以肖像显示的设备上运行.
我们的UWP应用程序的最佳页面布局是这样的,在手机上,我们最好禁用横向模式(我们不需要对更大格式的设备进行此类限制).实现这一目标的最佳实践方法是什么?
我有一个拆分视图控制器,我在其中提出一个弹出窗口.现在,当设备方向从横向变为纵向时,我必须运行一段代码,如果它从纵向变为横向,我必须运行另一段代码.如何在Swift中实现这一点.
我的Android设备上遇到了一个奇怪的问题(或者可能是意外的行为).
问题是我正在我的DialogFragment中监听配置更改,如下所示:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Do something secret here :)
}
Run Code Online (Sandbox Code Playgroud)
我添加android:configChanges了Activity,它负责显示对话框片段
<activity
android:name=".SecretActivity"
android:configChanges="orientation|screenSize"
android:windowSoftInputMode="adjustResize" />
Run Code Online (Sandbox Code Playgroud)
事实上,当我旋转设备时,我正从系统中获得回调,但并非在所有情况下.正如你在onConfigurationChanged( )旋转90度时所看到的图片中所看到的那样,以及360度,在其他情况下它不会被调用.
这是预期的行为吗?如果是,我如何检测所有旋转(90,180,270,360)?