我在使用Activity
和android.support.design.widget.AppBarLayout
类创建的android中有一个标签android.support.v4.view.ViewPager
。此活动的父级布局为android.support.design.widget.CoordinatorLayout
。
在其中一个选项卡中,片段的布局在底部有一个自定义的播放器(在下面的代码中带有id audioController
)。该片段旨在通过应用播放早期录制的音频文件。我的布局如下:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/recordingsListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@color/course_brow_text_color_light"
android:dividerHeight="1dp"/>
<RelativeLayout
android:id="@+id/audioController"
android:layout_width="wrap_content"
android:background="@color/player_bkg_color"
android:layout_height="80dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageButton
android:contentDescription="@string/record_button_desc"
android:id="@+id/playPauseButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/play"
android:layout_gravity="start"
android:layout_centerVertical="true"/>
<SeekBar
android:id="@+id/audioSeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/playPauseButton"
android:layout_toEndOf="@id/playPauseButton" />
<TextView
android:text="@string/time_elapsed_default"
android:id="@+id/elapsedTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"/>
</RelativeLayout>
</RelativeLayout>
我面临的问题是我的相对布局ID为audioController
隐藏在较新设备(如Nexus 5)的软触摸键盘(带有后置,主页和打开应用程序按钮的键盘)后面。是将这种相对布局放在软触摸键盘上方的最佳方法。