Déplacement du bouton D'Action flottant au-dessus du clavier
j'ai ce bouton D'Action flottant (lien GitHub) et quand j'ouvre un clavier (logiciel) le bouton D'Action flottant se cache derrière le clavier.
y a-t-il un moyen de le pousser au-dessus du clavier?
Edit:
tab_random.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="match_parent"
android:layout_height="156dp"
android:background="@color/primary_color"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/from"
android:inputType="number"
android:imeOptions="actionNext"
android:layout_centerHorizontal="true"
android:hint="From"
android:paddingStart="5dp"
android:textColor="#FFF"
android:fontFamily="sans-serif-light"
android:textSize="44sp"
android:backgroundTint="@color/fab_ripple"
android:layout_marginStart="10dp"
/>
<EditText
android:textSize="44sp"
android:layout_marginStart="10dp"
android:paddingStart="5dp"
android:fontFamily="sans-serif-light"
android:layout_centerHorizontal="true"
android:layout_below="@+id/from"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="To"
android:inputType="number"
android:imeOptions="actionSend"
/>
</RelativeLayout>
activity_main.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="activity.MainActivity">
<include
android:id="@+id/toolbar"
layout="@layout/tool_bar" />
<slidingModel.SlidingTabLayout
android:layout_below="@+id/toolbar"
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="4dp"
android:background="@color/primary_color"
/>
<android.support.v4.view.ViewPager
android:layout_below="@id/tabs"
android:id="@+id/pager"
android:layout_height="wrap_content"
android:layout_width="match_parent"
/>
<com.melnykov.fab.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
fab:fab_colorNormal="@color/fab_normal"
fab:fab_colorPressed="@color/fab_pressed"
fab:fab_colorRipple="@color/fab_ripple"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
6 réponses
votre disposition est comme ceci en ce moment:
<Relative Layout>
<View/>
<EditText/>
<other stuff.../>
</RelativeLayout>
vous devez ajouter un scrollview à l'intérieur des balises RelativeLayout. En outre, scrollviews n'aiment pas avoir plus d'une vue directe de l'enfant, de sorte que vous aurez besoin D'un Relativevayout à l'intérieur de la scrollview. Ainsi, votre mise en page finira par ressembler à ceci:
<RelativeLayout> (this was already here)
<ScrollView> (this is new)
<RelativeLayout> (this is also new)
<View, EditText, Etc. in here/> (this is what used to be inside that original relative layout.)
</RelativeLayout> (closing up the new Relativelayout)
</ScrollView> (closing the new Scrollview)
</RelativeLayout> (closing the original Relative Layout.)
TRU TO DO THIS. il a TRAVAILLÉ POUR MOI.
ajouter stateVisible / adjustPan à votre ACTIVTY dans votre fichier de manifestes.
<activity
android:name="com.comapny.applicationname.activityname"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateVisible|adjustPan"/>
j'ai eu un problème similaire, suivi d'une suggestion de @MrPlow, mais là où il a ajouté un Scrollview à L'intérieur du premier RelativeLayout et a ensuite ajouté un autre RelativeLayout à l'intérieur du ScrollView (pour préserver la structure de formatage), j'ai juste enveloppé la mise en page entière dans un ScrollView et ça "a juste fonctionné". La finale pour OP serait alors:
<Scrollview>
<RelativeLayout>
<View/>
<EditText/>
<other stuff.../>
</RelativeLayout>
</Scrollview>
une solution peut être de mettre toute votre mise en page dans un ScrollView.
Faire
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="match_parent"
android:layout_height="156dp"
android:background="@color/primary_color"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/from"
android:inputType="number"
android:imeOptions="actionNext"
android:layout_centerHorizontal="true"
android:hint="From"
android:paddingStart="5dp"
android:textColor="#FFF"
android:fontFamily="sans-serif-light"
android:textSize="44sp"
android:backgroundTint="@color/fab_ripple"
android:layout_marginStart="10dp"
/>
<EditText
android:textSize="44sp"
android:layout_marginStart="10dp"
android:paddingStart="5dp"
android:fontFamily="sans-serif-light"
android:layout_centerHorizontal="true"
android:layout_below="@+id/from"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="To"
android:inputType="number"
android:imeOptions="actionSend"
/>
</ScrollView>
</RelativeLayout>
puisque vos articles sont maintenant dans scrollview ils vont défiler.
Essayez avec ceci:
activity_main.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:fab="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="activity.MainActivity">
<include
android:id="@+id/toolbar"
layout="@layout/tool_bar" />
<slidingModel.SlidingTabLayout
android:layout_below="@+id/toolbar"
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="4dp"
android:background="@color/primary_color"
/>
<android.support.v4.view.ViewPager
android:layout_below="@id/tabs"
android:id="@+id/pager"
android:layout_height="wrap_content"
android:layout_width="match_parent"
/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|bottom"
android:layout_margin="@dimen/fab_margin" />
</ScrollView>
Tout ce que j'ai fait c'est mettre le fab dans un ScrollView
.