小编rav*_*024的帖子

在C#中运行Linux控制台命令

我使用以下代码在C#应用程序中通过Mono运行Linux控制台命令:

ProcessStartInfo procStartInfo = new ProcessStartInfo("/bin/bash", "-c ls");
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();

String result = proc.StandardOutput.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)

这按预期工作.但是,如果我给出命令,"-c ls -l"或者"-c ls /path"我仍然得到输出-lpath忽略.

在为命令使用多个开关时,我应该使用什么语法?

c# mono

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

如何在CollapsingToolbarLayout上方放置视图

我们如何在AppbarLayout内的CollapsingToolbarLayout上方放置静态视图?我的协调器视图内的组织如下所示:

<AppBarLayout>
    <RelativeLayout/>             ----- should not collapse
    <CollapsingToolbarLayout/>    ----- should collapse
</AppBarLayout>
<NestedScrollView/>
Run Code Online (Sandbox Code Playgroud)

问题是,当我在CollapsingToolbar上方添加任何内容时,它们会正常显示,但会破坏CollapsingToolbar的折叠功能。

完整的xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="c.toolbar_test.ScrollingActivity2">

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="@dimen/app_bar_height"
    android:fitsSystemWindows="true"
    android:theme="@style/AppTheme.AppBarOverlay">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Button"
            android:id="@+id/button"/>
    </RelativeLayout>

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">


    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_scrolling2"/>



</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

那么,如何在折叠工具栏上方保留一些内容,并且仍然保留折叠功能?

android material-design android-coordinatorlayout android-collapsingtoolbarlayout

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

WindowManager.addView() 导致 BadTokenException

我正在尝试创建一个覆盖窗口,但是当我尝试将视图添加到 WindowManager 时,它给了我一个异常。我添加了“SYSTEM_ALERT_WINDOW”权限,并在应用信息中启用了“绘制其他应用”。我从服务的 onCreate 函数中调用它。

  • 设备:运行 8.0.0 的模拟器
  • 目标 SDK 和编译的 SDK 版本:26
  • AppCompat 版本:26.0.0

代码:

    WindowManager manager = (WindowManager)getSystemService(WINDOW_SERVICE);
    LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);

    RelativeLayout overlay = (RelativeLayout) inflater.inflate(R.layout.button_main, null);

    final WindowManager.LayoutParams params =
            new WindowManager.LayoutParams(
                    WindowManager.LayoutParams.MATCH_PARENT,
                    WindowManager.LayoutParams.WRAP_CONTENT,
                    WindowManager.LayoutParams.TYPE_APPLICATION_PANEL,
                    0,
                    PixelFormat.TRANSLUCENT);


    params.gravity = Gravity.TOP | Gravity.START;
    params.x = 0;
    params.y = 0;

    manager.addView(overlay, params);
Run Code Online (Sandbox Code Playgroud)

异常堆栈跟踪:

Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
    at android.view.ViewRootImpl.setView(ViewRootImpl.java:764
    at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:356)
    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:92)
Run Code Online (Sandbox Code Playgroud)

无论我为 …

android android-service android-layout android-view android-windowmanager

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