java - 键盘没有在上方滚动 EditText

标签 java android

我正在使用这段代码。然而,当我点击 EditText 打开键盘时, View 并没有完全打开。为什么view一直上不去,EditText隐藏在Keyboard后面

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:background="@drawable/main_bg" 
    android:id="@+id/mainLayout"
    android:focusableInTouchMode="true"
    >

       <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:orientation="horizontal"
        android:id="@+id/topBar"
        android:background="@drawable/top_bar_bg"
     >

        <LinearLayout 
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:orientation="horizontal"
                android:gravity="center_horizontal|bottom"
                android:layout_centerInParent="true"
            >

                 <ImageView 
                     android:id="@+id/loadingAnimationImg"
                     android:layout_height="35dp"
                     android:layout_width="35dp"
                     android:adjustViewBounds="true"
                     android:contentDescription="@null"
                     android:background="@drawable/img05"/>

                 <ImageView 
                     android:layout_marginBottom="5dp"
                     android:layout_height="wrap_content"
                     android:layout_width="120dp"
                     android:adjustViewBounds="true"
                     android:contentDescription="@null"
                     android:src="@drawable/simple_logo"/>

         </LinearLayout>
    </RelativeLayout>

    <GridView
            android:layout_marginTop="5dp"
            android:layout_width="match_parent"
            android:layout_height="300dp"
            android:id="@+id/gridView"
            android:numColumns="5"
            android:verticalSpacing="5dp" />

    <TextView 
        android:layout_marginTop="5dp"
        android:layout_marginLeft="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="12sp"
        android:textColor="@android:color/white"
        android:text="@string/hashtagText"
        />


    <com.trib.devicebee.custom.FlowLayout 
        android:id="@+id/flowLayout"
        android:layout_margin="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

    <EditText 
        android:layout_margin="10dp"
        android:id="@+id/hashTagsText"
        android:hint=""
        android:inputType="textFilter" 
        android:singleLine="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="12sp"
        />

    <Button
        android:id="@+id/goAheadBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/go_ahead_btn"
        android:layout_margin="10dp"
         />

</LinearLayout>

最佳答案

我想到的最佳解决方案是将所有内容都放在 scrollView 中。

  • 现在在 list 中

    <activity
        android:name="MyActivity"
        android:windowSoftInputMode="adjustResize">
    </activity>
    
  • 现在在您想要聚焦的 editText 上使用 onfocusChangeListener

    editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View view, boolean b) {
            if (b){
            scrollView.smoothScrollTo(0,editText.getBottom()+5);
            }
        }
    });
    

我们完成了。

关于java - 键盘没有在上方滚动 EditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27571712/

相关文章:

android - 我可以获得非阻塞 Looper 吗?

Android excludeFromRecents 是否需要任何权限?

java - Listview 显示垃圾值

Java log4j 不工作

java - Log4J:isDebugEnabled() 方法有问题

java - Wildfly 10.1 和 NullPointerException

android - com.viewpagerindicator.CirclePageIndicator 出错

java - 玩框架Form.form找不到symbol

java - J2ME 中的 URL 编码?

android - 在 ViewPager 滑动时显示/隐藏 FloatingActionButton