首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android推荐使用dialogFrament而不是alertDialog

DialogFragment也允许开发者把Dialog作为内嵌组件进行重用,类似Fragment(可以在大屏幕和小屏幕显示出不同效果)。...可以看到,对话框成功创建并显示出来,不过默认对话框有个讨厌标题,我们怎么去掉呢:可以在onCreateView调用getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE...6、DialogFragment做屏幕适配 我们希望,一个对话框在大屏幕上以对话框形式展示,而小屏幕上则直接嵌入当前Actvity。这种效果对话框,只能通过重写onCreateView实现。...,如果是大屏幕则直接以对话框显示,如果是小屏幕则嵌入我们Activity布局 这个R.bool.large_layout是我们定义资源文件: 在默认values下新建一个bools.xml <...左边模拟器,右边手机~~~~~ 7、屏幕旋转 当用户输入帐号密码时,忽然旋转了一下屏幕,帐号密码不见了~~~是不是会抓狂 传统new AlertDialog在屏幕旋转时,第一不会保存用户输入

2.3K50

Android 高德地图之poi搜索功能实现代码

这个功能我是用Fragmentdialog里面做,也遇到不少坑 第一,就是设置背景drawable纯白色导致键盘弹出时候,recyclerview布局被顶上去导致出现白色布局,有点扎眼;最后改成了设置和背景色一个颜色就和好了...android:layout_marginRight="15dp" android:layout_marginTop="@dimen/dp_10" / </LinearLayout 第二个问题是键盘弹出时候...public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //解决dialogfragment...布局不被顶上去方法 setStyle(DialogFragment.STYLE_NORMAL, android.R.style.Theme_Black_NoTitleBar); } 最后就是实现搜索功能了...第一个点击搜索时,键盘和搜索按钮两个都是同样效果 /** * 搜索功能 */ private void searchLocationPoi() { //关闭键盘 KeyBoardUtils.closeKeybord

1.5K41
您找到你想要的搜索结果了吗?
是的
没有找到

Android 撸起袖子,自己封装 DialogFragment

内容之上显示一个静态对话框。...1、DialogFragment 优点 其实在 Android 显示对话框有两种类型可供使用,一种是 DialogFragment,而另一种则是 Dialog。...,OnCallDialog,前者用于监听弹出窗是否被取消,后者则可以让我们回调获得想要显示 Dialog,可以看到在 onCreateDialog() 我们返回 是 mOnCallDialog.getDialog...AlertDialog 交互,Helper 会帮助我们用 DialogFragment 来进行显示,这样既能统一整个应用 Dialog 风格,又能让我们实现各种各样对话框变得相当简单 在实现...就以 加载弹出窗 例,来看看我们是怎么实现 public static CommonDialogFragment showProgress(FragmentManager fragmentManager

1.3K41

Android EditText详解

[68485207.png] 还不赖是吧,当然,不会在这里贴布局,这里只介绍默认提示文本两个控制属性: 默认提示文本两个属性如下: android:hint="默认提示文本" android:textColorHint...2.获得“焦点”后全选组件所有文本内容 当我们想在点击输入框获得焦点后,不是将光标移动到文本开始或者结尾;而是 获取到输入框中所有的文本内容的话!...这个时候我们可以使用selectAllOnFocus属性 android:selectAllOnFocus="true" 比如下面的效果图: 第一个是设置了该属性,第二个是没设置该属性,设置true...EditText获得焦点后 选中是所有文本!...、最多行、单行、多行、自动换行 EditText默认是多行显示,并且能够自动换行,即当一行显示不完时候,他会自动换到第二行 如图所示: [28846367.png] 我们可以对其进行限制,比如 设置最小行行数

1.7K20

DialogFragment自动弹出软键盘,消失时关闭软键盘

hideSoftInputFromWindow(binding.etChat.windowToken, 0) } 复制代码 在DialogFragment显示时弹出软键盘DialogFragment...mService.hideSoftInput 断点发现当在onCancel关闭软键盘时 mServedViewnull,所以走不到关闭代码,看一下mServedView在哪赋值null void...再来看 mServedView不为null值,发现是我 DialogFragment 依附 activity布局控件,可以理解当前获取焦点控件,因此可以传入activity当前焦点所在view...自定义Dialog在dismiss之前通知 DialogFragment 关闭软键盘 转变思路,既然在 DialogFragment 无法提前监听dialog关闭,那就自定义Dialog重写dismiss...onCreateDialog创建自定义Dialog,设置关闭回调。

5K40

关于EditText屏蔽焦点问题,及为什么clearFocus()方法失效了?

而这个在日历却是有用。...android:focusable与android:focusableInTouchMode 前者针对在键盘下操作情况,如果设置true,则键盘上下左右选中,焦点会随之移动。...而后者,显然是针对触屏情况下,也就是我们点击屏幕某个控件时,不要立即执行相应点击逻辑,而是先显示焦点(即控件被选中),再点击才执行逻辑。...android:focusable=“true”不会改变android:focusableInTouchMode,因此只在键盘状态下显示焦点,在TouchMode状态下,依旧无法显示焦点。....到了现在,我们可以尝试一下,如果设置第一个输入框focusableInTouchModefalse,那么当你点击了别的输入框,然后点击switch,会发现,焦点会在第二个输入框,而不会在第一个。

1K20

★ Android基础篇-你应该知道Android Interface

效果入下 之前只是简单说了一下接口,只是知道它定义以后,设置并回调…OK我再举个栗子,加深一下印象 使用Interface进行传值 (设置一个DialogFragment页面) public class...LoginDialogFragment extends DialogFragment { private EditText mUsername; private EditText...View view = getActivity().getLayoutInflater().inflate(R.layout.fragment, null); mUsername = (EditText...抽象类可以包含抽象方法,也可以有非抽象方法,但是有抽象方法类一定是抽象类。抽象方法不能有方法体。 在引用接口时,接口引用指向实现对象,尽量定义接口或父类引用。... 在类实现接口方法时必须加上public修饰符 【源码地址】 [希望这篇文章可以帮到你]

1.1K30

浅谈关于android软键盘弹出问题

问题: 今天公司项目处理一个软键盘弹出逻辑,要求点击按钮之后弹出软键盘。...); imm.showSoftInput(editText,0); 在正常一个activity按照上面是可以实现,但是我遇到问题是加载数据显示之后点击按钮改变了布局显示状况,然后再想弹出软键盘...,但是一直无法弹出键盘 通过查阅网上资料,给出解析是在布局加载过程是无法弹出软键盘,所以需要适当延迟一下软键盘弹出 最终代码如下: //获取焦点 editText.setFocusable...imm.isActive( ) ) { imm.hideSoftInputFromWindow( v.getApplicationWindowToken( ) , 0 ); 3.显示键盘...应该需要判断是否null,这里偷懒了,大家记得判断一下 以上就是本文全部内容,希望对大家学习有所帮助。

1.9K20

Android EditText使用详解-包含很多教程上看不到功能演示

"/> 这里添加了一个id”edit_text”EditText,设置默认显示“这是一个EditText”。。...EditText我们提供了android:hint来设置当EditText内容空时显示文本,这个文本只在EditText空时显示,你输入字符时候就消失了,不影响你EditText文本。。...四:输入特殊格式字符 在我们开发程序时候不免会输入一些特属个数字符,比如密码(输入框字符要加密显示),电话号码(比如数字和-),数字等,这些都算是一些特属格式字符,强大EditText同样我们提供了输入这些特属格式字符设置...五:文本指定特定键盘类型 前面我们通过指定为电话号码特定格式,然后键盘类型变成了拨号专用键盘,这个是自动变,其实我们也可以通 过android:inputType来设置文本类型,让输入法选择合适键盘...比如,在一个搜索,我们输入要搜索文本,然后按Enter表示要去搜索了,但是默认Enter键显示是“完成”文本,看着不太合适,不符合搜索语义,如果能显示“搜索”两个字或者显示一个表示搜索图标多好

3.7K20

实现Android键盘中英文适配

(new PasswordTransformationMethod());//密文 则如果该EditText获得焦点,会弹出数字输入法模拟键盘 请在xml设置inputType属性即可 1、API中有...:inputType=”time” 时间键盘 2、Enter键图标的设置 想象一下,当我们在EditText完成了输入,想要以输入内容作为关键字进行搜索时,却需要按下“完成”图标的Enter按键,显然这不符合良好用户体验设计...,软键盘也总是被隐藏 【E】stateVisible:软键盘通常是可见 【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示状态 【G】adjustUnspecified...:默认设置,通常由系统自行决定是隐藏还是显示 【H】adjustResize:该Activity总是调整屏幕大小以便留出软键盘空间 【I】adjustPan:当前窗口内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容部分...但是转换出来只是显示大写字母,存还是小写字母。

2.2K10

Android开发笔记(一百四十八)自定义输入法软键盘

然而系统软键盘即使切换到123数字模式,依旧显示包括标点符号在内冗余按键。 2、系统软键盘固定在屏幕下方弹出,无法做为控件嵌入到页面布局,更无法指定软键盘显示位置。...3、系统软键盘会自动响应EditText焦点变更事件,常常在意料之外突然之间蹦出来,弄得开发者要么剥夺EditText焦点,要么强行关闭软键盘显示,但无论哪种方式都得开发者强行**,很不方便。...3、软键盘不是一个孤立控件,它按键动作需要实时在某个编辑框把数字显示出来,所以在使用时还得给它绑定一个EditText,这样软键盘才知道我按键要输出给这个EditText,而不是输出给那个EditText...EditText对象,即当软键盘发生按键动作时,要把按键结果显示在哪个EditText上。...(如0-9),它们在键盘映射xmlkeycode值必须配置该字符ASCII码 editable.insert(start, Character.toString((char) primaryCode

2.4K30

Android开发 经验技巧汇总(基于Android Studio)(二)

实现 方法二:通过单元测试实现 4.在EditText键盘调起、关闭 5.禁止EditText自动弹出软键盘 6.EditText输入文本从右边开始显示 7.判断APP是否联网 8.检查网络连接状态变化无网络时跳转到设置界面...添加jar包方法 先到网上下载你需要jar包,下载下来后,将你Androidstudio项目切换为project,找到app下libs,将你下载jar包复制粘贴进去 ?...4.在EditText键盘调起、关闭 (1)EditText有焦点(focusabletrue)阻止输入法弹出 editText.setOnTouchListener(new OnTouchListener...android:focusable="false"// 键盘永不弹出 5.禁止EditText自动弹出软键盘 (1)在包含EditText父布局添加android:focusable="true"...输入文本从右边开始显示 在进行计算器等开发时候,常常需要在EditText控件输入文本从右边开始显示: 在xml文件中加入android:gravity="right"或者android:gravity

1.3K20

Android富文本开发

CHANGE_APPEARING:由于容器要显现一个新元素,其它元素变化需要动画显示。 DISAPPEARING:元素在容器消失时需要动画显示。...,光标显示在第一个输入框) 需求2:editText不获取焦点,当然软键盘不会主动弹出(光标也不显示) 在第一个输入框最直接父布局加入:android:focusable="true";android...:focusableInTouchMode="true" (效果:软键盘不弹出,光标不显示,其他输入框也不获取焦点,ps非直接父布局没有效果) 在父布局最顶部添加一个高度0EditText,抢了焦点但不展示...android定义了一个属性,名字windowSoftInputMode, 这个属性用于设置Activity主窗口与软键盘交互模式,用于避免软键盘遮挡内容问题。...stateAlwaysVisible-总是显示状态:当设置这个状态时,软键盘总是可见,和stateVisible不同是,当我们跳转到下个界面,如果下个页面软键盘是隐藏,而我们再次回来时候,软键盘就会显示出来

8.4K20

Android自定义键盘实现(数字键盘和字母键盘

在项目中,产品对于输入方式会有特殊要求,需要对输入方式增加特定限制,这就需要采用自定义键盘。本文主要讲述数字键盘和字母键盘自定义实现。...; 自定义CustomKeyboardView, 继承自KeyboardView,实现自定义键盘绘制; 创建KeyboardManager, 用于处理自定义键盘显示以及和输入UI交互 自定义CustomKeyboard...考察KeyboardView源码,发现其UI样式都是private类型,这就需要通过反射方式获取特定UI属性,并重新进行赋值,同时重载onDraw()方法,在onDraw()重新绘制。...字母键盘 创建KeyboardManager 主要处理以下功能逻辑: 绑定EditText和Keyboard,监听EditTextOnFocusChangeListener,处理键盘弹出和键盘掩藏;...处理系统键盘和自定义键盘之间切换关系; 处理键盘区域其他自定义view显示,比如需要让键盘自动搜索功能时,可在manager中进行相关处理 以绑定EditText例: public void bindToEditor

8.7K31

Android如何禁止向EditText控件输入内容详解

前言 在Android开发中经常会遇到EditText控件,而在App开发过程、遇到了这样一个问题、那就是Android EditText控件如何禁止往里面输入内容?...最开始找到修改版解决方法、但是当想输入时候就有问题了、可以参考一下、但不建议这样写 EditText editText = (EditText) findViewById(R.id.editText1...); editText.setKeyListener(null); 看到这个问题大家可能有点奇怪了、EditText功能不就是往上面写入内容吗?...()内容、则需要禁止输入、防止它被修改、 如果没有显示内容、则将EditText设置可输入状态 经过测试验证:setFocusable方法效果只有第一次使用时有效、也就是说若在布局文件里面设置:...android:focusable="false" 即使你在代码设置此控件属性:editText.setFocusable(true);也不能对它进行编辑、即setFocusable方案不可行、经过摸索得出可行方案利用

1.3K31

自定义键盘(二)

笔者认定炒股app自定义键盘实现思路应该也是封装然后关联输入框。...二需求 我们如何能封装一个没有耦合性自定义键盘,笔者能想到需求如下: 动态添加到任何布局 解决和系统键盘显示冲突 动态绑定系统输入框 有show和hide动画,让键盘显示更加优雅 没有耦合,使用方便...3.2解决和系统键盘显示冲突 这就需要我们把页面中所有的EditText传递到封装工具类,调用这个方法隐藏系统键盘 /** * 隐藏系统键盘 * * @param editText */ public..."复制代码 让系统键盘不弹出来 3.3动态绑定输入框 系统输入框是当EditText获取焦点时候会弹出来,所以这里我们要给传递进来EditText设置焦点改变监听,通过焦点改变来显示键盘。...这就需要我们在我们传递过来布局文件添加一个宽高是0EditText。让用户点击完成时候,这个EditText获取焦点。

93320

Android使用Activity实现简单可输入对话框

1、需求分析 众所周知,在应用这样那样评论总是少不了,有的应用是在底部直接加一个EditText和一个Button,让用户输入文字或者表情之后点击按钮提交;而有的虽然也放置了EditText,但仅仅是一个...这里效果可以细分为四点: 点击底部按钮之后会弹出对话框,对话框在布局底部; 对话框中有输入框EditText,可以输入内容; 对话框弹出后EditText会自动获取焦点,弹出软键盘; 软键盘会把对话框顶上去...:style/Animation.Dialog</item //背景是否模糊显示false时效果全透明 <item name="android:backgroundDimEnabled" true...下面介绍两种方法: 3.1、使用InputMethodManager类显示键盘 我们平时要让某个EditText获得焦点自动弹出软键盘可以这样写: InputMethodManager inputManager...5、参考文章 android:windowSoftInputMode属性详解 彻底搞定Android开发键盘常见问题

2.7K20
领券