我构建了Android应用程序,现在想添加不同方向的布局。我创建了一个布局区域文件夹,并为我的第一个入门活动“ myStartActivity”(与之前在两个方向上使用的布局名称相同)放置了一个不同的布局。
根据我的屏幕方向,在我启动该应用之前,应选择正确的布局:当我纵向启动时,从“布局”文件夹中选择“ myLayout.xml”,而从“布局-土地”中选择“ myLayout.xml”-我在风景中开始时的文件夹。
问题是,当我已经在活动中时旋转设备时,旋转后我没有得到新的布局。例如:从纵向旋转到横向,静止图像从“布局”文件夹而不是“布局土地”文件夹显示“ myLayout.xml”。
我没有覆盖任何OnConfigurationChange方法或任何东西。我在“ myStartActivity”中所做的只是实例化一些按钮,并为它们提供了一些侦听器。我想在横向中使用其他布局来更改按钮的顺序。
android landscape portrait screen-orientation device-orientation
我注意到当你用原生相机应用拍照时,它们会出现肖像或风景(应该如此),但是,当我使用相机课程在我的应用中拍照时,无论我怎么样,它们总是风景照相.拿着设备.
我真的希望我不必监控设备的方向并手动旋转图像......是否有一种不那么愚蠢的方法来完成这项工作?
TIA
我正在使用Spinner与android:spinnerMode="dropdown". 我还设置android:configChanges="orientation|keyboardHidden|screenSize"了防止我Activity重新创建。当我处于Landscape模式并单击Spinner它时,它会在按钮下方弹出Spinner并具有与Spinner按钮相同的宽度,现在当我将屏幕旋转到纵向模式时,Spinner按钮宽度会根据屏幕尺寸减小,但弹出对话框不会相应地减小其宽度.
人像模式画面:

风景模式画面

我想关闭弹出窗口并在屏幕方向上重新打开它,但我没有找到任何关闭弹出对话框的方法。
我正在研究Android动态壁纸应用程序,需要正确处理屏幕方向的变化.
目前我onConfigurationChanged用于此目的(在这种方法中,我需要更改我的LWP屏幕元素的坐标.我使用andengine).在仿真器和我的测试手机上一切正常,但是一些我的客户使用三星Galaxy Note2(t03g),LG激动(LGE LG-P925)报告了在屏幕方向改变期间应用程序工作不正确的问题.
我手边没有这些手机,但可以认为这个问题与onConfigurationChanged未被调用有关.
使用onConfigurationChanged方法是否正确?也许我需要使用onSurfaceChanges或类似的东西?你能否告诉我解决这个问题的正确方法?
Alos,我加入android:configChanges="keyboardHidden|orientation"了我的AndroidManifest.xml:
<activity
android:name=".WallpaperSettings"
android:configChanges="keyboardHidden|orientation"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.PREFERENCE" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud) 我正在创建一个通用应用程序.对于一个屏幕,我使用此控件在网格中显示6个图像(png格式).此屏幕还支持纵向和横向.
我为所有iDevices创建了一组不同分辨率的图像,并使用正确的命名约定命名它们,如下所示.
而且我必须创建另一组这些图像,因为我支持两种方向,我不能使用与上面相同的图像,因为在景观中它会拉伸.
现在我只有一个屏幕有近60张图像,应用程序已经重达40MB!不言而喻,这是不可接受的.
我的问题是,是否有必要为所有这些尺寸/设备和方向创建单独的图像?我不能只为视网膜显示器创建一个设置,它会缩小到正常显示吗?如果那是不可能的,有没有办法缩小图像的大小?
谢谢.
screen-orientation screen-size image-scaling orientation-changes ios
在系统偏好设置 -> OS X 上的显示中,可以设置连接屏幕的旋转。
无论如何我可以以编程方式设置这个值吗?
我可以使用 CGDisplayRotation 获取当前设置。我似乎能够在一个简单的事务中设置许多屏幕属性,例如分辨率:
CGDisplayConfigRef config;
CGError error = CGBeginDisplayConfiguration(&config);
...
error = CGCompleteDisplayConfiguration(config, kCGConfigurePermanently);
Run Code Online (Sandbox Code Playgroud)
...但无论如何我都找不到设置此特定属性的方法。
有没有人知道这样做的方法?
我正在准备一个具有所有方向支持(调整高度和宽度大小)和分页的GridView。
在我的示例中,采用了3 * 3网格,并以此进行显示,在最后一页中添加了一些虚拟透明单元格。
问题是当我到达最后一页时,我将方向从横向更改为纵向,因此分页不起作用。
我在以下位置使用了此代码willRotateToInterfaceOrientation:
CGPoint scrollTo = CGPointMake(self.frame.size.width * mPageControl.currentPage, 0);
[self setContentOffset:scrollTo animated:YES];
Run Code Online (Sandbox Code Playgroud)
但是,当从横向到纵向以及将纵向改为横向时,静止页面都移动到最后一页之前的页面。
iphone pagination uiscrollview screen-orientation uicollectionview
我的设备 TI am335xevm 运行 android Jellybean 4.2.2,并将横向作为默认/自然方向。
如何将设备的默认/自然方向更改为纵向?
这是我迄今为止所尝试的,
1) 将setprop ro.sf.hwrotation 90添加到build.prop但它什么也没做。
2)改变user_rotation在值/data/data/com.android.providers.settings/databases/settings.db它改变仅应用的方向。主屏幕和启动器的方向仍然是横向。
3)修改PhoneWindowManager.java类似于链接中给出的那个:改变phonewindowmanager以改变自然方向
此选项有效。但它仍然显示bootanimation在景观和动画结束后,显示旋转(旋转与动画)肖像。如何在启动动画之前避免这种旋转并更改默认/自然方向?
注意:我已经用自己的肖像图像覆盖了启动动画,使其看起来像肖像。在启动动画退出发生后仍然旋转。那么什么是通用解决方案呢?
任何建议将不胜感激。
它与SurfaceFlinger相关吗?我还想在android网站上指出这篇文章。硬件作曲家中的预旋转
(仅供参考 - 问题不在于应用程序/活动方向,而是在为自定义设备构建 Android 操作系统时设备的自然方向)
我创建了非常简单的活动 TempActivity,没有内容视图,仅用于测试目的。当这个活动加载到安卓手机中时,我做了大约 40 次方向改变,我将堆文件作为 hprof 并导出到 MAT 工具并进行检查。它显示了我的 TempActivity 的 40 个实例,在每个实例中都有许多用于操作栏视图的类,如线性布局、图像视图等。
每当我旋转屏幕时,DDMS 都会显示越来越多的内存添加到此应用程序的堆中,理想情况下不应该在一段时间后进行垃圾收集吗?当我强行执行 GC 时,它仍然没有被清除,并且显示堆中的内存增加。
请让我知道这是 Android 的默认行为,我们可以做些什么来删除所有以前的活动实例吗?这是内存泄漏的情况吗?因为在我的实时应用程序中(在 contentview 中有图像和其他东西),我在旋转屏幕时遇到同样的问题,每次创建新的实例活动并且堆大小不断增加。
是不是因为默认的 ActionBar imageview、linearlayout 或其他控件会自动内置每个 android 活动,对吗?
这是我的临时活动课程:
[Activity(Label = "TempAcivity", MainLauncher = true)]
public class TempAcivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Create your application here
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
这是我申请的清单文件和样式文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="HF.Mobility.Android" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="21" />
<application android:label="Health Hub" android:theme="@style/CustomHoloTheme" android:icon="@drawable/ApplicationIcon" android:allowBackup="false">
<application android:label="@string/ApplicationName"></application>
</application>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" …Run Code Online (Sandbox Code Playgroud) android garbage-collection memory-leaks screen-orientation xamarin
我使用类似于google-samples repo的MVP和RxJava .
我想问一下如何正确处理屏幕方向的变化.
android ×7
andengine ×1
cocoa ×1
hal ×1
ios ×1
iphone ×1
java ×1
landscape ×1
macos ×1
memory-leaks ×1
orientation ×1
pagination ×1
portrait ×1
rx-android ×1
rx-java ×1
screen-size ×1
sensor ×1
spinner ×1
uiscrollview ×1
xamarin ×1