установить свойство
app:layout_scrollFlags="scroll|enterAlways"
для дочернего представления android.support.design.widget.AppBarLayout
Проблемы, возникающие в результате аргументов синтаксического анализа PowerShell. В первом примере, когда PowerShell видит $ a, он передает его как единственный параметр msbuild. Мы можем увидеть это с помощью утилиты echoargs из PSCX :.
PS> $a = "C:\some\project\or\other\src\Solution.sln /target:Clean /target:Build"
PS> & echoargs $a
Arg 0 is <C:\some\project\or\other\src\Solution.sln /target:Clean /target:Build>
Второй пример еще хуже, потому что вы говорите PowerShell вызвать "$ echoargs $ a" в качестве имени команды, а это не допустимое имя команды.
Третья строка работает, потому что CMD.exe получает развернутую форму «$ echoargs $ a» в качестве единственного аргумента, который анализирует и выполняет:
Здесь есть несколько вариантов. Сначала я делаю это так:
PS> & $msbuild C:\some\project\or\other\src\Solution.sln `
/target:Clean /target:Build
Другой вариант - использовать Invoke-Expression следующим образом:
PS> Invoke-Expression "$msbuild $a"
В общем, я стараюсь быть очень осторожным с Invoke-Expression, особенно если какая-либо часть вызываемой строки предоставляется пользователь.
Тьфу.
$collectionOfArgs = @("C:\some\project\or\other\src\Solution.sln",
"/target:Clean", "/target:Build")
& $msbuild $collectionOfArgs
Это работает. & принимает набор аргументов, поэтому вы должны разделить строки, содержащие несколько аргументов, на набор строковых аргументов.