Любой прямой дочерний View
из DrawerLayout
, который не является ящиком, считается содержимым View
и будет выложен в match_parent
в обоих направлениях, независимо от установленных вами атрибутов ширины и высоты в теме. В вашем случае - действительно, в большинстве случаев - вам нужен только один контент View
, так что остальная часть не-ящика View
s должна быть внутри одного ViewGroup
.
Поместите свои ProgressBar
и RecyclerView
как внутри RelativeLayout
, действующие как контент View
, где они сохранят атрибуты макета, которые вы установили. Например:
<android.support.v4.widget.DrawerLayout
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"
tools:context="com.st.mf.UserAreaActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/activity_vertical_margin"
android:background="#fff">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginTop="20dp" />
</RelativeLayout>
<android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:menu="@layout/navigation_menu"
android:layout_gravity="start">
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
Обратите внимание, что содержимое View
должно всегда отображаться перед любыми ящиками, чтобы поддерживать надлежащий порядок z; т. е. удерживать ящики над содержимым.
Начиная с ECMAScript 2018, JavaScript, наконец, поддерживает свойство Unicode escapes изначально.
Для более старых версий вам необходимо либо определить все соответствующие диапазоны Unicode. Или вы можете использовать пакет XRegExp
Стивена Левитана с юникодными надстройками и использовать его ярлыки свойств Unicode:
var regex = new XRegExp("^\\p{L}*$")
var a = "abcäöüéèê"
if (regex.test(a)) {
// Match
} else {
// No Match
}
Если вы захотите использовать Babel для создания своего javascript, тогда будет выпущен плагин babel, который преобразует регулярные выражения, такие как /^\p{L}+$/
или /\p{^White_Space}/
в регулярное выражение, которое браузеры будут Понимаю.
Это страница проекта: https://github.com/danielberndt/babel-plugin-utf-8-regex
\w
соответствует только символам ASCII / цифрам / подчеркиванию в JavaScript. Нет простого способа обойти XRegExp, если вы хотите поддерживать Unicode. – Tim Pietzcker 3 November 2012 в 17:01