Articles of android ui

在Android 5.0中设置popup菜单的样式

我正在为Android 5.0准备我的应用程序,我正在使用最新的兼容性库,这是我的风格。 @color/theme_accent @color/theme_accent_secondary @color/theme_accent @color/theme_accent_secondary (正在以编程方式设置ActionBar颜色。) 现在,我希望溢出/popup菜单具有类似于holo实现中的深色背景,但我无法使其工作,这是它的样子: 我试过设置popupMenuStyle但它没有用。 如何让popup菜单变暗?

如何在android中创建modal dialog

我想为我的应用程序创建modal dialog。 所以当modal dialog打开时,其他活动被阻止。 没有像按下后退按钮或按下主页按钮那样的事件。 并在该对话框中放置两个选项按钮取消并确定。 谢谢…

反转LinearLayout的方向

如何反转线性布局的方向? 例如,如果我的布局是[view1,view2,view3],我想创建[view3,view2,view1]。 我的目标是从一个XML布局中扩展左手和右手实例。

Android WebView HTML能否影响键盘或键盘function?

我有一个带有信用卡输入表格的webview(标准字段)。 在不同版本的Android中,我会得到不同的键盘。 Kit-Kat似乎在表单内部不显示Prev / Next键。 在网络方面,我对此有任何影响吗? 如果没有,我应该向Android方面的开发者推荐什么? 没有Prev / Next的示例: 相同的webview,上一个 / 下一个 :

java.lang.IllegalStateException:ScrollView只能托管一个直接子项

我只是尝试通过添加scrollview来添加滚动浏览此布局的function,但每次我尝试加载布局时,我都会收到一条错误,指出“java.lang.IllegalStateException:ScrollView只能托管一个直接子项”,我不确定为什么。 任何建议都非常感谢。 资源: 编辑(回应CodeMagic的回答)

在工作线程内创建视图

我需要从EditText生成一个位图,然后对其执行一些操作。 我主要担心的是不要在UI线程上调用View.buildDrawingCache()方法并且可能阻止它,特别是在谈论大屏幕(即Nexus 10)时,因为EditText将占据可用屏幕大小的大约80%。 我在ThreadPoolExecutor执行Runnable ,它们会在工作线程上膨胀虚拟视图并为它们设置所有必需的属性,然后只需调用buildDrawingCache()和getDrawingCache()来生成位图。 这在某些设备上运行良好但是最近我遇到了一些因以下消息而崩溃的设备: java.lang.RuntimeException: Can’t create handler inside thread that has not called Looper.prepare() 我理解为什么会发生这种情况,因为有些手机必须修改EditText实现来创建一个Handler ,因此需要Looper.prepare()调用Looper.prepare() 。 从我在网上看到的内容,在工作线程中调用Looper.prepare()没有问题,虽然有人说这是非常不推荐但我找不到原因。 除此之外,与此问题相关的大多数post都表明您不应该在后台线程中夸大视图,可能是由于Android的官方文档(进程和线程)中的以下内容 : “Do not access the Android UI toolkit from outside the UI thread” 处理这个问题的推荐方法是什么? 从主线程调用build / get drawingcache有什么害处吗? (性能明智) 在我的工作线程中调用Looper.prepare()会解决这个问题吗? 编辑 为了详细说明我的具体要求,我有一个用户界面,包括一个ImageView和一个自定义的EditText,EditText可以根据用户选择改变它的字体和颜色,它可以使用“放大/缩小”。捏缩放“手势,也可以拖动以允许用户将其重新定位在图像上。 最后我做的是使用与UI当前具有的完全相同的值(宽度,高度,位置)在我的工作线程中创建一个虚拟视图,然后生成它的绘图缓存,原始图像的位图再次从本地文件解码。 一旦两个位图准备就绪,我将它们合并到一个位图中以备将来使用。 简单来说,执行以下代码(从后台线程中 )有什么问题: 调用Looper.prepare()创建一个带有应用程序上下文的新视图,手动调用measure()和layout() ,然后从中构建+ get drawingcache,即: Looper.prepare(); EditText view […]

Android View.onDraw()总是有一个干净的canvas

我想画一个animation。 为此,我扩展了View并覆盖了onDraw()方法。 我所期望的是每次调用onDraw()时canvas都处于我留下的状态,我可以选择清除它或者只是绘制它的部分(这是我使用SurfaceView时的工作原理) )但每次canvas回来已经清除。 有没有办法让我无法清除它? 或者可能将以前的状态保存到位图中,这样我就可以绘制该位图然后在其上方绘制?

Android – 是否有一个在onResume()后立即调用的回调?

是否有一个总是在onResume()之后调用的回调? 我需要它,因为AFAIK,在onResume()之后,布局中的每个View都被渲染了,所以我可以测量它们的尺寸。 谢谢。

如何使Android 4.0应用程序向后兼容?

Android 4.0(ICS)有很多新的UI指南 ,非常棒。 问题是,未来,我不确定如何为Android 4.0构建应用程序,并确保该应用程序在运行Android 2.2和2.3的设备上看起来相同/相似。 有Android兼容性库和向后兼容的Action Bar ,但我一直在寻找一种更具体的解决方案,用于将ICS后应用程序移植到ICS之前的手机上。 我是在正确的轨道上吗? 有人有什么想法?

如何在ListView的每个单元格中设置阴影?

我有一个Android ListView的自定义单元格。 此自定义单元格是一个相对布局,其中包含一些视图。 每个单元格之间有一个空格,所以我想在单元格底部添加一个阴影。 我一直在谷歌上搜索但找不到任何东西? 我想实现与此类似的东西: 谢谢!