- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我在 Bottom Sheet fragment 中有一个编辑文本。当焦点出现在编辑文本上时,布局会上升。我试过了
android:windowSoftInputMode="adjustNothing"
它适用于父 Activity,但不适用于对话框 fragment 。
这是我的 Bottom Sheet 类:
public class CustomBottomSheetDialogFragment extends BottomSheetDialogFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.content_dialog_bottom_sheet, container, false);
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
return v;
}
}
初始状态
当键盘出现时
我希望布局始终保持在底部,键盘应位于布局上方。
检查布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/bottomSheetLayout"
android:layout_width="match_parent"
android:layout_height="400dp"
android:background="@android:color/holo_blue_light"
android:padding="@dimen/activity_vertical_margin"
app:behavior_hideable="true"
app:behavior_peekHeight="60dp"
app:layout_behavior="@string/bottom_sheet_behavior">
<EditText
android:id="@+id/edt"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@android:color/white"
android:padding="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="250dp"
android:layout_below="@+id/edt" />
最佳答案
Use this in your
Dialog Fragment
.
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
Inside
onCreateView
like this.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.dialog_fragment, container);
//set to adjust screen height automatically, when soft keyboard appears on screen
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
return rootView;
}
编辑 1:
I have made some changes with what
layout
you are using make it apply in your currentlayout
.
这里是布局
。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/bottom_sheet"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_gravity="bottom"
android:background="@android:color/holo_blue_light"
android:padding="10dp"
app:behavior_hideable="true"
app:behavior_peekHeight="60dp"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:isScrollContainer="false"
android:scrollbars="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/edt"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@android:color/white"
android:padding="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="250dp"
android:layout_below="@+id/edt" />
</LinearLayout>
</ScrollView>
</FrameLayout>
这里是 fragment
。
public class TestFragment extends BottomSheetDialogFragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.test4, container, false);
return v;
}
编辑 2:
You can try android:elevation="50dp" property for shadow above Bottom Sheet give a try with that in frame layout.
关于android - Bottom Sheet Fragment 附带键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39288879/
我正在尝试从数据库获取一些标签并通过 json 编码发送到 ios 应用程序。 但不幸的是我在数组中得到了一些“\” { "error_code": 0, "response_
我有多个关于 JavaFX 的问题。 JavaFX 是否随 JDK 8 提供? JavaFX 是否也需要自己的运行时环境? 我查看了我的计算机(我安装了 JDK 和 JRE),但找不到 JavaFX。
这是个笨蛋 http://plnkr.co/edit/Ll09uMtJEC0HqyGBRPjH?p=preview 正如在 plunker 中看到的,我有一个日期、用户和汽车作为输入字段。我可以选择日
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我正在查看 Protractor 网站并看到 this paragraph值得一提的是,Protractor 开发正在升级到 Jasmien 2.0。 Currently, Jasmine Versi
我在 Maven 存储库中的 jar 附加有“-sources”,例如:junit-4.12-sources.jar。请让我知道我可以采取什么措施来避免这种情况。 最佳答案 这些是您正在使用的库的源文
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 4年前关闭。 Improve t
我是一名优秀的程序员,十分优秀!