activity设置成dialog主题后去标题栏并设置弹出位置
来源:互联网 发布:怎样评判数据库好坏 编辑:程序博客网 时间:2024/05/22 06:43
写了一个activity,由于需求要设计成dialog模式,
但是却去除不了标题栏,用了requestWindowFeature(Window.FEATURE_NO_TITLE); 仍不起作用。
只能另谋出路: 在styles.xml文件里自己写一个style样式
设置一下windowNoTitle 属性,让其为true就行了。
碰到第二个问题,布局里写了一个输入钱包密码的自定义控件,当软键盘弹出的时候,会遮挡住控件,想设置成不遮挡,于是查到了以下属性,同时在style里设置了
<item name="android:windowSoftInputMode">stateVisible|adjustResize</item>,但是不起效果,以下为所查资料。
android:windowSoftInputMode
activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。
这个属性能影响两件事情:
【一】当有焦点产生时,软键盘是隐藏还是显示
【二】是否减少活动主窗口大小以便腾出空间放软键盘
它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。在任一组设置多个值——多个”state…”values,例如&mdash有未定义的结果。各个值之间用|分开。例如:<activityAndroid:windowSoftInputMode="stateVisible|adjustResize". . . >
在这设置的值(除"stateUnspecified"和"adjustUnspecified"以外)将覆盖在主题中设置的值
各值的含义:
【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
【C】stateHidden:用户选择activity时,软键盘总是被隐藏
【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
【E】stateVisible:软键盘通常是可见的
【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
在同事帮助下,以下为解决方案:
<style name="DialogNoTitle" parent="@style/Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@color/C2_transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowShowWallpaper">false</item>
<item name="android:windowTitleSize">25dip</item>
<item name="android:windowSoftInputMode">stateVisible|adjustResize</item>
</style>
<color name="C2_transparent">#96010101</color>
位置用margin设置就行了
android:layout_marginTop="100dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
- activity设置成dialog主题后去标题栏并设置弹出位置
- Activity设置无标题栏主题样式
- 当将Activity的主题Theme设置为Dialog,控制Activity的位置
- 设置Dialog全屏,并从底部弹出
- Android Activity设置为dialog样式,去掉标题栏
- dialog的 主题设置
- Activity设置成Dialog模式
- Activity设置成Dialog样式
- Activity标题栏设置
- 设置Activity无标题栏
- android:全屏设置 + 去标题 + 只去程序标题栏 (应用和activity设置)
- android:全屏设置 + 去标题 + 只去程序标题栏 (应用和activity设置)
- 设置dialog显示位置
- dialog设置位置
- Service启动Activity并将该Activity设置为dialog
- activity 设置dialog
- activity 设置diaolog主题
- activity动态设置主题
- 网络与GPRS判断工具类
- UVa10815 安迪的第一个字典
- [UVA297] Quadtrees 四叉树
- Action_立方体
- CollabNetSubversionEdge错误集合
- activity设置成dialog主题后去标题栏并设置弹出位置
- XML
- 统一资源管理与调度平台入门
- Spring@ResponseBody未生效,前端报404的解决办法
- 终于成功安装了win7 64位pygame
- 图像特征点检测与匹配评价——量化
- AndroidStudio 该版本的 %1 与您运行的 Windows 版本不兼容
- Android6.0权限获取
- AngularJS 入门