android - 调整resize和scrollview不使用edittext

时间:2017-07-18 18:32:41

标签: android

我有这种形式,当软键盘打开时,屏幕不会调整大小,也不会在其上滚动。

我真的想知道为什么。为什么我的视图不滚动?为什么不调整大小?

这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<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:orientation="vertical"
android:fitsSystemWindows="true"

>


<ScrollView
    android:layout_width="match_parent"
    android:fillViewport="true"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <RelativeLayout
            android:id="@+id/relativeLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#fff">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="10dp"
                android:background="@android:color/transparent"
                android:visibility="invisible"
                app:navigationIcon="@drawable/ic_left_arrow"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

            </android.support.v7.widget.Toolbar>

            <ImageView
                android:id="@+id/imageView9"
                android:layout_width="180dp"
                android:layout_height="70dp"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_below="@+id/toolbar"
                android:layout_gravity="center_vertical|center_horizontal"
                android:layout_marginLeft="10dp"
                android:src="@drawable/logo" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/imageView9"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_alignStart="@+id/imageView9"
                android:layout_below="@+id/imageView9"
                android:layout_marginLeft="15dp"
                android:paddingBottom="6dp"
                android:text="OFERTAR OU \nSIMULAR LANCE"
                android:textColor="#eb262a"
                android:textSize="20sp"
                android:textStyle="bold" />

        </RelativeLayout>

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

            <LinearLayout
                android:id="@+id/linearLayout2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="15dp"
                android:orientation="horizontal">


                <RadioButton
                    android:id="@+id/livre"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Lance Livre" />

                <RadioButton
                    android:id="@+id/fixo"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Lance Fixo" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/linearLayout2"
                android:layout_marginLeft="15dp"
                android:layout_marginRight="15dp"
                android:orientation="vertical">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="15dp"
                    android:orientation="horizontal">

                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1">

                        <android.support.design.widget.TextInputLayout
                            android:id="@+id/text_input_layout"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="Percentual do lance">

                            <EditText
                                android:id="@+id/percent"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_toLeftOf="@+id/textView12"
                                android:layout_toStartOf="@+id/textView12"
                                android:ems="10"
                                android:inputType="numberDecimal"
                                android:nextFocusDown="@+id/value"
                                android:textSize="14dp" />

                        </android.support.design.widget.TextInputLayout>

                        <TextView
                            android:id="@+id/textView12"
                            android:layout_width="25dp"
                            android:layout_height="wrap_content"
                            android:layout_alignParentEnd="true"
                            android:layout_alignParentRight="true"
                            android:layout_centerVertical="true"
                            android:text="%"
                            android:textColor="#000"
                            android:textSize="16dp"
                            android:textStyle="bold" />

                    </RelativeLayout>

                    <RelativeLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_weight="1">

                        <android.support.design.widget.TextInputLayout
                            android:id="@+id/text_input_layout2"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:hint="Valor do lance">

                            <EditText
                                android:id="@+id/value"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:ems="10"
                                android:inputType="numberDecimal"
                                android:textSize="14dp" />

                        </android.support.design.widget.TextInputLayout>
                    </RelativeLayout>

                </LinearLayout>

                <android.support.design.widget.TextInputLayout
                    android:id="@+id/text_input_layout3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="20dp"
                    android:hint="Número do Protocolo">

                    <EditText
                        android:id="@+id/protocol"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:ems="10"
                        android:inputType="number"
                        android:textSize="14dp" />
                </android.support.design.widget.TextInputLayout>
            </LinearLayout>
        </RelativeLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:layout_marginTop="30dp"
            android:orientation="horizontal"
            android:weightSum="10">

            <Button
                android:id="@+id/limpar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:backgroundTint="@android:color/holo_red_light"
                android:text="Limpar"
                android:textColor="#ffffff"
                android:visibility="visible" />

            <Button
                android:id="@+id/simular"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:backgroundTint="@android:color/holo_red_light"
                android:text="Simular"
                android:textColor="#ffffff"
                android:visibility="visible" />

            <Button
                android:id="@+id/registrar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="5"
                android:backgroundTint="@android:color/holo_red_light"
                android:text="Registrar"
                android:textColor="#ffffff"
                android:visibility="gone" />
        </LinearLayout>

        <TextView
            android:id="@+id/label"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:layout_marginTop="20dp"
            android:text="Lance Fixo é definido em 30%"
            android:textAlignment="center"
            android:textColor="#000"
            android:textSize="16sp"
            android:visibility="gone" />
    </LinearLayout>
</ScrollView>
</LinearLayout>

我已经尝试将match_parent设置为scrollview。 我的清单android:windowSoftInputMode="stateAlwaysHidden|adjustResize"中有这个。

4 个答案:

答案 0 :(得分:2)

如果您正在使用&#34; FULLSCREEN&#34;主题为您的应用程序或活动然后&#34; RESIZE&#34;功能不起作用,你应该使用&#34; NoTitleBar&#34;主题没有&#34; FULLSCREEN&#34;。 它将100%工作。 你应该使用&#34; RelativeLayout&#34;代替父布局(主线性布局)。

答案 1 :(得分:0)

将此行添加到要在打开软键盘时调整大小的活动:

android:windowSoftInputMode="adjustResize"

更新帖子:

<?xml version="1.0" encoding="utf-8"?>
<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:orientation="vertical"
              android:fitsSystemWindows="true"

    >


    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <RelativeLayout
                android:id="@+id/relativeLayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#fff">

                <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="10dp"
                    android:background="@android:color/transparent"
                    android:visibility="invisible"
                    app:navigationIcon="@drawable/ic_left_arrow"
                    app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

                </android.support.v7.widget.Toolbar>

                <ImageView
                    android:id="@+id/imageView9"
                    android:layout_width="180dp"
                    android:layout_height="70dp"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_below="@+id/toolbar"
                    android:layout_gravity="center_vertical|center_horizontal"
                    android:layout_marginLeft="10dp"
                    android:src="@drawable/logo"/>

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@+id/imageView9"
                    android:layout_alignParentEnd="true"
                    android:layout_alignParentRight="true"
                    android:layout_alignStart="@+id/imageView9"
                    android:layout_below="@+id/imageView9"
                    android:layout_marginLeft="15dp"
                    android:paddingBottom="6dp"
                    android:text="OFERTAR OU \nSIMULAR LANCE"
                    android:textColor="#eb262a"
                    android:textSize="20sp"
                    android:textStyle="bold"/>

            </RelativeLayout>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1">

                <LinearLayout
                    android:id="@+id/linearLayout2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_margin="15dp"
                    android:orientation="horizontal">


                    <RadioButton
                        android:id="@+id/livre"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Lance Livre"/>

                    <RadioButton
                        android:id="@+id/fixo"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Lance Fixo"/>
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/linearLayout2"
                    android:layout_marginLeft="15dp"
                    android:layout_marginRight="15dp"
                    android:orientation="vertical">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="15dp"
                        android:orientation="horizontal">

                        <RelativeLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="1">

                            <android.support.design.widget.TextInputLayout
                                android:id="@+id/text_input_layout"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:hint="Percentual do lance">

                                <EditText
                                    android:id="@+id/percent"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_toLeftOf="@+id/textView12"
                                    android:layout_toStartOf="@+id/textView12"
                                    android:ems="10"
                                    android:inputType="numberDecimal"
                                    android:nextFocusDown="@+id/value"
                                    android:textSize="14dp"/>

                            </android.support.design.widget.TextInputLayout>

                            <TextView
                                android:id="@+id/textView12"
                                android:layout_width="25dp"
                                android:layout_height="wrap_content"
                                android:layout_alignParentEnd="true"
                                android:layout_alignParentRight="true"
                                android:layout_centerVertical="true"
                                android:text="%"
                                android:textColor="#000"
                                android:textSize="16dp"
                                android:textStyle="bold"/>

                        </RelativeLayout>

                        <RelativeLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:layout_weight="1">

                            <android.support.design.widget.TextInputLayout
                                android:id="@+id/text_input_layout2"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:hint="Valor do lance">

                                <EditText
                                    android:id="@+id/value"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:ems="10"
                                    android:inputType="numberDecimal"
                                    android:textSize="14dp"/>

                            </android.support.design.widget.TextInputLayout>
                        </RelativeLayout>

                    </LinearLayout>

                    <android.support.design.widget.TextInputLayout
                        android:id="@+id/text_input_layout3"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="20dp"
                        android:hint="Número do Protocolo">

                        <EditText
                            android:id="@+id/protocol"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:ems="10"
                            android:inputType="number"
                            android:textSize="14dp"/>
                    </android.support.design.widget.TextInputLayout>
                </LinearLayout>
            </RelativeLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:layout_marginRight="15dp"
                android:layout_marginTop="30dp"
                android:orientation="horizontal"
                android:weightSum="10">

                <Button
                    android:id="@+id/limpar"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="5"
                    android:backgroundTint="@android:color/holo_red_light"
                    android:text="Limpar"
                    android:textColor="#ffffff"
                    android:visibility="visible"/>

                <Button
                    android:id="@+id/simular"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="5"
                    android:backgroundTint="@android:color/holo_red_light"
                    android:text="Simular"
                    android:textColor="#ffffff"
                    android:visibility="visible"/>

                <Button
                    android:id="@+id/registrar"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="5"
                    android:backgroundTint="@android:color/holo_red_light"
                    android:text="Registrar"
                    android:textColor="#ffffff"
                    android:visibility="gone"/>
            </LinearLayout>

            <TextView
                android:id="@+id/label"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:layout_marginRight="15dp"
                android:layout_marginTop="20dp"
                android:text="Lance Fixo é definido em 30%"
                android:textAlignment="center"
                android:textColor="#000"
                android:textSize="16sp"
                android:visibility="gone"/>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

答案 2 :(得分:0)

如果要在键盘弹出时调整活动大小,则需要在活动标记内的清单文件中指定一行代码:

android:windowSoftInputMode="adjustResize"

有关详细信息,请参阅此链接:https://developer.android.com/training/keyboard-input/visibility.html

您甚至可以尝试调整活动中的屏幕,将以下代码放在您的活动onCreate方法中:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

希望这应该有帮助!!

答案 3 :(得分:0)

我发现了问题。我正在使用<item name="android:windowFullscreen">true</item> 并且当全屏标志处于活动状态时,调整大小不起作用。