相关疑难解决方法(0)

获得软键盘的尺寸

有没有办法知道屏幕上显示的键盘大小?

我正在使用Cocos2dx进行编程,但我想知道Android部分或Cocos部分屏幕中显示的键盘高度,这没关系.

我知道Keyboard有一个getHeight()方法,但我不想创建新的键盘,我想使用默认键盘.

keyboard android cocos2d-x

25
推荐指数
4
解决办法
5万
查看次数

显示键盘时,屏幕布局会向上移动

假设我有以下布局:

http://i47.tinypic.com/2vchnih.png

当我点击底部的编辑文本时,我得到了这个:

http://i45.tinypic.com/352lym9.png

您可以注意到顶部的图像向上,整个布局移动.这是我的xml这个布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="#FFFFFF" >

   <LinearLayout
       android:id="@+id/header"
       android:layout_width="fill_parent"
       android:layout_height="75dp"
       android:layout_alignParentLeft="true"
       android:layout_alignParentRight="true"
       android:layout_alignParentTop="true"        
       android:isScrollContainer="true"
       android:background="@drawable/header" >
   </LinearLayout>

   <ScrollView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:id="@+id/scrollauthentication"
       android:layout_below="@+id/header"
       android:background="#FFFFFF"
       android:fillViewport="true" >

       <RelativeLayout
           xmlns:android="http://schemas.android.com/apk/res/android"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:background="#FFFFFF" 
           android:id="@+id/authenticationrelativelayout">

           <TextView
               android:id="@+id/login"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_alignParentLeft="true"
               android:layout_below="@+id/header"
               android:layout_marginLeft="30dp"
               android:layout_marginTop="20dp"
               android:text="login"
               android:textAppearance="?android:attr/textAppearanceMedium"
               android:textColor="@color/lighter_orange"
               android:textSize="28dp" />

           <TextView
               android:id="@+id/usernameTextView"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_alignLeft="@+id/login"
               android:layout_below="@+id/login"
               android:layout_marginTop="16dp"
               android:text="username"
               android:textAppearance="?android:attr/textAppearanceMedium"
               android:textColor="@color/dark_gray" />

           <EditText
               android:id="@+id/user"
               android:layout_width="260dp"
               android:layout_height="42dp"
               android:layout_alignLeft="@+id/usernameTextView"
               android:layout_below="@+id/usernameTextView"
               android:background="@drawable/edittext_selector"
               android:imeOptions="actionDone"
               android:lines="1"
               android:paddingLeft="10dp" />

           <TextView
               android:id="@+id/passwordTextView"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_alignLeft="@+id/user"
               android:layout_below="@+id/user" …
Run Code Online (Sandbox Code Playgroud)

keyboard layout android

20
推荐指数
2
解决办法
4万
查看次数

如何使windowSoftInputMode ="adjustPan"泛更多

我有一个活动,上面有一堆EditText字段,windowSoftInputMode设置为adjustPan,这主要是我想要的,但对于布局底部的editText,它不够平衡.它将平移以显示多行编辑文本的顶行,但只要您按Enter键,光标就会向下移动一行,现在隐藏在键盘下方.

无论如何我可以进一步平移,以便editText的顶部一直在窗口的顶部.

使用adjustResize肯定不会做我想要的,pan是正确的,只需要它进一步平移.

android pan

14
推荐指数
1
解决办法
3159
查看次数

当AppTheme为半透明时,软键盘与EditTextPreferenceDialogFragmentCompat重叠

运用

  • 最新的V14偏好支持库.

  • API上的半透明主题 > 19

  • EditTextPreferenceCompatPreferenceFragmentCompat

问题

点击EditTextPreferenceCompat之后弹出EditTextPreferenceDialogFragmentCompat,其中控件与软键盘重叠,这是错误的:

在此输入图像描述

  • 如果我使用半透明主题或API <19 - 一切都很好.
  • 如果我使用正常DialogFragment 半透明主题-一切都很好.

我尝试了什么?

有什么解决方法吗?

android android-preferences android-fragments

13
推荐指数
1
解决办法
302
查看次数

获取Android软键盘高度_without_"adjustResize"

我在两个片段之间有一个动画.第二个片段将调出一个键盘.由于键盘将覆盖屏幕的某些部分,我手动需要在那里调整间隔视图以调整我的视图.使用android:windowSoftInputMode="adjustResize"将导致我的过渡动画变得超级滞后.使用adjustNothing在另一方面会使其光滑.

那么有没有办法获得键盘高度而不使用adjustResize

编辑: 我的问题是不同的fe 是否有任何方式在Android中获取设备的虚拟键盘的高度,因为我无法添加adjustResize

android android-manifest android-layout android-activity

8
推荐指数
0
解决办法
2012
查看次数

Phonegap Android应用程序没有在键盘秀上调整平移

我正在开发版本为2.9.0的phonegap应用程序;

使用RWD Bookmarklet(http://responsive.victorcoulon.fr/)在桌面浏览器中对布局进行了全面测试,并且工作正常.但是,在移动设备或仿真器中进行测试时,布局中断了.经过一点点测试,我发现问题是状态栏的高度.将应用程序更改为全屏,问题解决了.

但是现在,当我专注于输入字段时,屏幕没有被调整,因此,键盘覆盖输入字段!

在查看了所有问题和相关问题之后,我找到了这个,这对我来说很有意义,但我想知道是否有办法让调整盘全屏工作,所以我不需要调整我的所有组件高度,根据设备等计算不同的状态栏高度

代码

form.html

<form id="login-form">
    <div class="form-group">
       <input type="text" name="login" class="form-control" id="login"
                        placeholder="xxxxxxx@example.com">
    </div>
    <div class="form-group">
      <input type="password" name="pass" class="form-control"
                        id="password" placeholder="*******">
    </div>
    <a class="pull-right login-btn" id="btn-login" href="#"><span
                    class="image-replacement"></span></a> 
    <a class="pull-right login-btn" id="btn-cadastro" href="#"><span class="image-replacement"></span></a>
</form>
Run Code Online (Sandbox Code Playgroud)

Android Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:windowSoftInputMode="adjustPan"
      package="com.com.app" android:versionName="1.0" android:versionCode="1" android:hardwareAccelerated="true">
    <supports-screens
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true"
        android:resizeable="true"
        android:anyDensity="true"
        />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission …
Run Code Online (Sandbox Code Playgroud)

android cordova

6
推荐指数
1
解决办法
8794
查看次数

使用全屏模式时,检测软输入可见性和高度

我已经阅读了这个问题的多个帖子,解决方案就是使用OnGlobalLayoutListener.这里的问题是我的应用程序在清单中声明了以下内容:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
Run Code Online (Sandbox Code Playgroud)

所以inputmode调整不起作用,我不能使用 OnGlobalLayoutListener

如何获得软输入可见/消失的事件,我还需要获得输入的高度以调整我当前的布局bottomMargin.

谢谢.

android android-layout

5
推荐指数
1
解决办法
2159
查看次数

当显示键盘时,viewpager片段内的Scrollview不会滚动

我有一个活动,其布局内容如下:

<?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.support.v7.widget.Toolbar 
     android:id="@+id/toolbar"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:background="?attr/colorPrimary"
     android:minHeight="?attr/actionBarSize"
     style="@style/ToolBarStyle.Event" />

    <com.mypackage.corecode.ui.view.SlidingTabLayout
        android:id="@+id/sliding_tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/primary_color" />

    <android.support.v4.view.ViewPager
        android:id="@+id/vendor_main_tabview_pager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

在viewpager中,我有一个片段,它具有以下布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

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

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

                        <EditText
                            android:theme="@style/ScrollableContentThemeNoActionBar"
                            android:id="@+id/edit_text_vendor_sms_phone_number"
                            android:layout_width="0dp"
                            android:layout_weight="2"
                            android:layout_height="wrap_content"
                            android:inputType="number" />

                        <Button
                            android:id="@+id/button_send_sms"
                            android:layout_width="0dp"
                            android:layout_weight="1"
                            android:layout_height="wrap_content"
                            />
                    </LinearLayout>
         </LinearLayout>
 </ScrollView>
Run Code Online (Sandbox Code Playgroud)

当片段内的内容不适合屏幕时,滚动视图允许用户查看屏幕下方的内容.(按预期工作)

问题是当edittext获得焦点时,键盘与edittext区域重叠,而不是滚动视图导致内容滚动.

我希望片段能够处理键盘和scrollview以适应屏幕上的键盘.

或者我错了,是否对键盘负责?由于活动布局中的根视图是linearlayout,它是否限制了扩展?

我尝试用滚动视图包装活动布局的整个内容,但是如果我没有给它一个固定的大小,这次viewpager不会出现在屏幕上.即使我这样做,我最终在片段内部有一个滚动视图,它位于主布局的滚动视图下方,而键盘仍然在编辑文本上方盘旋.

我在这里有点迷失,我的目标是能够在编辑文本聚焦时滚动片段内容,而是键盘当前与edittext重叠.

android scrollview android-edittext window-soft-input-mode

5
推荐指数
1
解决办法
3944
查看次数

用FAB键盘上方的Android SnackBar

我的应用程序有问题:由于AndroidBug5497解决方案,版本> = Lollipop上的一个奇怪的行为.

我正在使用协调器布局,折叠工具栏,片段,浮动动作按钮和小吃吧,一切都在前棒棒糖上工作正常.我需要在键盘上显示我的Fab,并使用AndroidBug5497解决方法.(根据约瑟夫约翰逊的解决方案)

但是通过这种解决方案,小吃店变得疯狂.我正在使用所有android的支持库23.2.+,并且在我的清单中我已经设置android:windowSoftInputMode="stateAlwaysHidden|adjustResize"了这个活动

那是我活动的结构:

<Coordinator Layout>
    <Collapsing Toolbar />
    <Linear Layout>
       <Fragment />
    </Linear Layout>
    <Floating Action Button />
</Coordinator Layout>
Run Code Online (Sandbox Code Playgroud)

这就是片段:

<Linear Layout>
    <Nested Scroll View>
        <Linear Layout>
            <CardView 1/>
            <CardView 2/>
            <CardView n/>
        </Linear Layout>    
    </Nested Scroll View>
</Linear Layout>
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.非常感谢.

没有键盘的正常行为

前棒棒糖行为 棒糖

android-layout floating-action-button android-5.0-lollipop android-snackbar coordinator-layout

5
推荐指数
1
解决办法
1316
查看次数

Android片段底部奇怪的空白区域?

我遇到了一个奇怪的问题:片段底部有一个空白区域,我无法摆脱它.值得一提的是,如果我点击任何按钮,这个空间就会消失.

任何帮助表示赞赏!请在下面找到屏幕截图和布局代码.

截图

DetailActivity布局:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/detail_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="org.ogasimli.manat.activity.DetailActivity"
tools:ignore="MergeRootFrame" />
Run Code Online (Sandbox Code Playgroud)

DetailFragment布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="org.ogasimli.manat.fragment.DetailActivityFragment"
android:background="@color/colorAccent">

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/detail_result_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:visibility="gone"
    tools:visibility="visible">

    <android.support.design.widget.AppBarLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        app:elevation="0dp"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar_detail"
            android:layout_width="match_parent"
            android:layout_height="?actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.AppBarOverlay"/>

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_marginTop="?actionBarSize"
        android:weightSum="7">

        <include layout="@layout/detail_chart_grid"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="4.5"/>

        <include layout="@layout/detail_extras_grid"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="2.5"/>

    </LinearLayout>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab_share_details"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="24dp"
        android:elevation="8dp"
        android:src="@drawable/ic_share"
        app:layout_anchor="@id/cardview_details"
        app:layout_anchorGravity="top|right|end"
        app:rippleColor="@color/colorPrimary"
        tools:targetApi="lollipop"/>

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

<LinearLayout
    android:id="@+id/detail_error_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" …
Run Code Online (Sandbox Code Playgroud)

xml layout android fragment android-fragments

5
推荐指数
1
解决办法
1297
查看次数