小编PVo*_*Lan的帖子

Android屏幕方向更改所有活动

我想在我的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不起作用.有任何想法吗?

android screen-orientation

28
推荐指数
2
解决办法
1万
查看次数

Android:增加调用堆栈大小

我有一个非常复杂的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)

stack-overflow android

12
推荐指数
1
解决办法
7711
查看次数

Gradle 和嵌套的非传递依赖项

这是一个测试项目:点击

\n\n

我有一个测试 Gradle Android 项目,包含三个模块:applibrary_alibrary_bapp取决于library_a,则library_a取决于library_b

\n\n

构建.gradle(应用程序)

\n\n
dependencies {\n    ...\n    compile (project(":library_a")){\n        transitive = false;\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

构建.gradle(library_a)

\n\n
dependencies {\n    ...\n    compile (project(":library_b")){\n        transitive = false;\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

请注意,我设置是transitive = false因为我不希望从library_b以下位置访问类app

\n\n

每个模块只有一个类,代码非常简单:

\n\n

应用程序:

\n\n
public class MainActivity extends Activity {\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        //...\n        ClassA classA = new ClassA();\n        classA.doSomething();\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n …

android gradle build.gradle android-gradle-plugin

5
推荐指数
1
解决办法
2177
查看次数

Monodroid - Monodevelop在部署到设备时擦除用户数据

使用Mono for Android,Monodevelop 2.8.6.5

部署到真实设备(也喜欢模拟器)总是擦除用户数据(文件,共享首选项,sqlite表等).有什么方法可以预防吗?

Visual Studio在这里解决了这个问题(/sf/answers/536893871/),但我找不到MonoDevelop的解决方案.

mono android monodevelop xamarin.android

3
推荐指数
1
解决办法
710
查看次数