3

こんにちは、設計で 1 つの問題に直面しています。その xml は次のとおりです。問題は、ネストされたスクロールビュー内で2つのテキストビュー、ボタン、およびリサイクラービューを使用していることです。このコードビューを実行しているときは、recyclerview から開始されますが、下にスクロールすると、それらのテキストビュー、ボタンが表示されます。モバイル内でビューを表示しているときに、最初のビューからビューを開始し、recyclerview に直接焦点を合わせないようにする方法を教えてください。どうすればこの問題を解決できますか? 助けて。私の下手な英語でごめんなさい。

<android.support.v4.widget.NestedScrollView
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
        android:descendantFocusability="beforeDescendants"
        android:focusableInTouchMode="false">

                    <LinearLayout
                        android:id="@+id/llMainContainer"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:orientation="vertical"
                        android:padding="@dimen/padding_10">

                        <com.xyz.ui.widget.CustomEditTextView
                            android:id="@+id/etEmail"
                            style="@style/Widget.xyz.EditText"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="@string/order_mobile_number"
                            android:inputType="text"
                            app:fontTextStyle="3" />

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:orientation="horizontal"
                            android:weightSum="2">

                            <com.xyz.ui.widget.CustomEditTextView
                                android:id="@+id/etDateFrom"
                                style="@style/Widget.xyz.EditText"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_marginTop="@dimen/spacing_normal"
                                android:layout_weight="1"
                                android:drawableLeft="@drawable/ic_calendar"
                                android:drawablePadding="@dimen/spacing_normal"
                                android:drawableStart="@drawable/ic_calendar"
                                android:editable="false"
                                android:focusable="false"
                                android:hint="@string/date_from"
                                android:inputType="text"
                                app:fontTextStyle="3" />

                            <com.xyz.ui.widget.CustomEditTextView
                                android:id="@+id/etDateTo"
                                style="@style/Widget.xyz.EditText"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="@dimen/margin_left_10"
                                android:layout_marginStart="@dimen/margin_left_10"
                                android:layout_marginTop="@dimen/spacing_normal"
                                android:layout_weight="1"
                                android:drawableLeft="@drawable/ic_calendar"
                                android:drawablePadding="@dimen/spacing_normal"
                                android:drawableStart="@drawable/ic_calendar"
                                android:editable="false"
                                android:focusable="false"
                                android:hint="@string/date_to"
                                android:inputType="text"
                                app:fontTextStyle="3" />
                        </LinearLayout>

                        <com.xyz.ui.widget.CustomTextView
                            android:id="@+id/txtGenerate"
                            style="@style/Theme.xyz.Button"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="@dimen/spacing_normal"
                            android:text="@string/generate_report"
                            android:textAllCaps="false"
                            app:fontTextStyle="1" />

                        <android.support.v7.widget.RecyclerView
                            android:id="@+id/rvPendingOrders"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="@dimen/spacing_micro" />

                    </LinearLayout>

                </android.support.v4.widget.NestedScrollView>
4

3 に答える 3

1

私は自分のコードを次のように管理しましたが、うまく機能しています。完全なレイアウト コードを見てみましょう。

<LinearLayout 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:descendantFocusability="beforeDescendants"
    android:focusableInTouchMode="false"
    android:orientation="vertical"
    tools:context=".order.Order">
    <LinearLayout
        android:id="@+id/headerbar"
        style="@style/HeaderBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:orientation="vertical"
        android:visibility="visible">

        <include layout="@layout/toolbar_actionbar" />
        <!-- placeholder, empty except on L -->
    </LinearLayout>

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="false">
        <!-- Main layout -->
        <FrameLayout
            android:id="@+id/main_content"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clipChildren="false"
            app:shadowDrawable="@drawable/header_shadow">

            <android.support.v4.widget.NestedScrollView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">

                <LinearLayout
                    android:id="@+id/llMainContainer"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical"
                    android:padding="@dimen/padding_10">

                    <EditTextView
                        android:id="@+id/etEmail"
                        style="@style/Widget.xyz.EditText"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:hint="@string/order_mobile_number"
                        android:imeOptions="actionDone"
                        android:inputType="text"
                        app:fontTextStyle="3" />

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:weightSum="2">

                        <EditTextView
                            android:id="@+id/txtDateFrom"
                            style="@style/Widget.xyz.EditText"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginTop="@dimen/spacing_normal"
                            android:layout_weight="1"
                            android:drawableLeft="@drawable/ic_calendar"
                            android:drawablePadding="@dimen/spacing_normal"
                            android:text="@string/date_from"
                            android:focusable="false"
                            android:editable="false"
                            app:fontTextStyle="3" />

                        <EditTextView
                            android:id="@+id/txtDateTo"
                            style="@style/Widget.xyz.EditText"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="@dimen/margin_left_10"
                            android:layout_marginTop="@dimen/spacing_normal"
                            android:layout_weight="1"
                            android:drawableLeft="@drawable/ic_calendar"
                            android:drawablePadding="@dimen/spacing_normal"
                            android:focusable="false"
                            android:editable="false"
                            android:text="@string/date_to"
                            app:fontTextStyle="3" />
                    </LinearLayout>

                    <TextView
                        android:id="@+id/txtGenerate"
                        style="@style/Theme.xyz.Button"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="@dimen/spacing_normal"
                        android:text="@string/generate_report"
                        android:textAllCaps="false"
                        app:fontTextStyle="1" />

                    <android.support.v7.widget.RecyclerView
                        android:id="@+id/rvPendingOrders"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="@dimen/spacing_micro" />

                </LinearLayout>

            </android.support.v4.widget.NestedScrollView>
        </FrameLayout>
        <!-- Nav drawer -->
        <include layout="@layout/navdrawer" />
    </android.support.v4.widget.DrawerLayout>
</LinearLayout>
于 2016-03-07T13:46:51.430 に答える
0

追加

android:descendantFocusability="blocksDescendants"

このようなLinearLayout内

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:descendantFocusability="blocksDescendants"
            android:orientation="vertical">
于 2018-08-11T10:40:14.900 に答える