我想在我的Android应用程序上修改屏幕方向为肖像.我发现,使用谷歌可以通过将以下代码添加到我的manifest.xml来完成:
<activity android:name=".LauncherActivity"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait">
</activity>
Run Code Online (Sandbox Code Playgroud)
这很好,但问题如下:我现在大约有15项活动,这个数字会增长.有没有办法立即对所有活动进行定向?
我尝试以下列方式使用样式:
theme.xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="Custom" parent="android:Theme">
<item name="android:screenOrientation">portrait</item>
<item name="android:windowBackground">@drawable/launcher</item>
<item name="android:configChanges">keyboardHidden|orientation</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
的Manifest.xml
<application ...
android:debuggable="true"
android:theme="@style/Custom"
>
//...
</application>
Run Code Online (Sandbox Code Playgroud)
要么
<activity
...
android:theme="@style/Custom"
>
//...
</activity>
Run Code Online (Sandbox Code Playgroud)
这两个例子都windowBackground成功应用,但screenOrientation不起作用.有任何想法吗?
我有一个非常复杂的UI应用程序,包含许多layouts嵌套的应用程序.在创建另一个布局时,我抓住了一个StackOverflowError
想知道,我创建了两个测试示例:
1)以下xml主要活动的Hello world应用程序
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<!-- ...So on 30 times... -->
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</FrameLayout>
<!-- ...So on 30 times... -->
</FrameLayout>
</FrameLayout>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
在绘制布局时导致StackOverflowError(导致每个布局递归地绘制它的子节点)
2)以下测试用例
public class TestOverflowActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
overflow(0);
}
private void overflow(int i){
android.util.Log.i("Stack depth:", " = " …Run Code Online (Sandbox Code Playgroud) 这是一个测试项目:点击
\n\n我有一个测试 Gradle Android 项目,包含三个模块:app、library_a、library_b。app取决于library_a,则library_a取决于library_b:
构建.gradle(应用程序)
\n\ndependencies {\n ...\n compile (project(":library_a")){\n transitive = false;\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n构建.gradle(library_a)
\n\ndependencies {\n ...\n compile (project(":library_b")){\n transitive = false;\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n请注意,我设置是transitive = false因为我不希望从library_b以下位置访问类app
每个模块只有一个类,代码非常简单:
\n\n应用程序:
\n\npublic class MainActivity extends Activity {\n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n //...\n ClassA classA = new ClassA();\n classA.doSomething();\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n … 使用Mono for Android,Monodevelop 2.8.6.5
部署到真实设备(也喜欢模拟器)总是擦除用户数据(文件,共享首选项,sqlite表等).有什么方法可以预防吗?
Visual Studio在这里解决了这个问题(/sf/answers/536893871/),但我找不到MonoDevelop的解决方案.