我使用以下代码在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"我仍然得到输出-l和path忽略.
在为命令使用多个开关时,我应该使用什么语法?
我们如何在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
我正在尝试创建一个覆盖窗口,但是当我尝试将视图添加到 WindowManager 时,它给了我一个异常。我添加了“SYSTEM_ALERT_WINDOW”权限,并在应用信息中启用了“绘制其他应用”。我从服务的 onCreate 函数中调用它。
代码:
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