Articles of 用户界面

Android如何在ellipsize结束时摆脱问号

我已经定义了以下TextView: 正如预期的那样,如果文本太长而被“……”取代,则文本被切断。 但在三点结束时出现了一个被正方形包围的问号。 我怎样才能摆脱这个问号呢? 谢谢!

Android有任何第三方UI库吗?

我见过专门用于图表的Android UI库,但没有用于控件和容器的替代实现。 有没有?

如何在重绘任何子视图时触发父视图的重绘?

背景 我已经编写了一个基于LinearLayout的自定义Android视图,我称之为ReflectingLayout 。 这个想法非常简单,在ReflectingLayout声明的任何子视图下面呈现reflection效果。 例如.. 我通过覆盖ReflectingLayout dispatchDraw()来实现这一目的,如下所示: @Override protected void dispatchDraw(Canvas canvas) { Bitmap bitmap = Bitmap.createBitmap(…); Canvas tempCanvas = new Canvas(bitmap); // Draw child views to bitmap using tempCanvas super.dispatchDraw(tempCanvas); … // some tranformations performed on bitmap … // draw transformed image on to main canvas canvas.drawBitmap(bitmap, 0, 0, null); } 问题 如果我的ReflectingLayout包含,例如, TextView […]

“无法注册输入通道” – 这是由什么引起的,以及如何解决这个问题?

我收到了以下错误,我的应用用户通过市场开发人员控制台报告: java.lang.RuntimeException: Failed to register input channel. Check logs for details. at android.view.InputQueue.nativeRegisterInputChannel(Native Method) at android.view.InputQueue.registerInputChannel(InputQueue.java:92) at android.view.ViewRoot.setView(ViewRoot.java:568) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177) at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) at android.view.Window$LocalWindowManager.addView(Window.java:465) at android.app.Dialog.show(Dialog.java:241) at my.program.MyActivity.handleFailure(Unknown Source) at my.program.MyActivity$RunFailed.run(Unknown Source) at android.os.Handler.handleCallback(Handler.java:587) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.java:3835) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) at dalvik.system.NativeStart.main(Native Method) 斜体线是我的代码的一部分。 有问题的代码只是创建并显示一个对话框。 它从Runnable发布到Handler […]

Android:创建父布局并对其进行扩展,以便在应用程序的所有活动中保持相同的外观

我正在写一个应用程序,其中我有多个屏幕,我想坚持某个主题。 例如:所有屏幕应该具有相同的背景,所有屏幕顶部应该有一个条形图,具有相同的动作集(不一定取决于当前显示的活动),并且所有屏幕应该共享相同的字体。 有没有办法在android中创建一个所有其他布局扩展的父布局,因此如果我需要更改一些元素(比如背景颜色),我不必在每个单独的屏幕上进行,而只是在父屏幕上。 我想我要问的是,android中有一种布局inheritance吗? 谢谢,e。

animation活动不属于您的应用

如何在不属于我的应用程序的活动上应用结束转换。 说,我正在打开联系人应用程序以选择联系人,我在打开联系人应用程序时应用向上滑动转换但关闭应用程序应用默认animation(向左滑动)。 是否有可能在关闭时设置animation?

如何使用View的中心作为RelativeLayout中的参考点

我一直在使用一些黑客来拉伸父亲RelativeLayout的视图,以便它从左上角开始并以底部中心结束。 虽然RelativeLayout确实允许你将某些东西置于其自身的中心,但它似乎并没有让你将某些东西延伸到同一点。 我的解决方案很简单,在该中心放置一些东西,并给它1px尺寸,使其成为父RelativeLayout的实际中心。 不要误解我的意思,这是有效的,我对此没有任何问题,但如果有一个更好的做法,我想知道它。 至于我正在谈论的图形表示,让我添加一些图像说明。 第一个图像有一个位于RelativeLayout中心的无文本TextView ,我给它的宽度为0dp。 这使我可以在下一张图片中看到相对于该中心放置任何内容。 我的观点是,如果不需要在中心添加额外的视图,你就无法做到这一点很奇怪,因为我可以看到如Layout to left of Layout to right of或Layout to right of等属性Layout to right of但没有 Layout to center of 。 所以这个场景可能更像是“ 它还没有被打破,但我担心它会在任何时候出现 ”。 另一方面,如果这是正确的做法,我帮助某人学习新事物,那对我也有用。 为什么我会提出无法解答的问题!? 我在这里设定赏金.. (我的判断)最明智的建议是我用一个View替换我的LinearLayout ,我认为它会占用更少的内存,即使它稍微少一些。 所以我感谢@yorkw。 我很惊讶以前没有人问过这件事。 只是为了澄清,因为似乎有一个误解,我实际上是在追求什么。 我不希望某些东西占据父宽度/高度的一半。 我想要一种方法来使用它作为参考点(这就是我在标题中所说的)所以我可以做类似的事情,将图像定位在中心的左侧,而不添加占用一半和重力的线性布局管他呢。 更新 从API 14开始,我们有Space可用,它是一个轻量级的View子类, 可能更适合这种hack。

文本覆盖在android中的imageview

我正在尝试将文字视图叠加在图像视图上。 像这样的东西 有人可以帮助我使用代码。

Android为ListView添加页脚addFooterView()?

我有一个ListView活动需要一个页脚到项目列表,以便您可以单击它,它会将更多项目加载到列表中。 该列表支持我的字符串映射支持的SimpleAdapter,在设置适配器之前我这样做是为了添加页脚: mInflater.inflate(R.layout.list_load_more_row, null); TextView footer = (TextView) findViewById(R.id.loadMore); getListView().addFooterView(footer); setListAdapter(ListViewHelper.getAdapterForContentList(mContent, this)); 但是我在调​​试器中得到了这个exception java.lang.NullPointerException android.widget.ListView.clearRecycledState(ListView.java:489)android.widget.ListView.resetList(ListView.java:476)android.widget.ListView.setAdapter(ListView.java:417) 什么是错的,如何将我的页脚添加到列表中? [编辑]活动正在使用list_load_more_row.xml:

如何使Button更具响应性?

我注意到有些按钮看起来并不像它们那样响应。 这同样适用于我的应用以及我尝试过的大多数其他应用。 当我按下一个按钮时,在按钮状态下按钮亮起之前会有一点点延迟(编辑:我估计大约20-50毫秒)。 一些应用程序已设法消除这一点延迟,例如RealCalc(市场上有售),其按钮在您按下它们后立即切换到按下状态。 大多数情况下,这种延迟并不明显,但在我的情况下,按钮用于自定义数字键盘,这一点点的延迟对用户来说是破坏性的。 RealCalc感觉更加响应和抛光,因为这种滞后已被消除。 我的问题是 – 如何消除这种滞后? 我知道我可以只是子类,覆盖onTouchEvent并从那里继续,但我真的更喜欢只使用标准控件和选项的解决方案。 我怀疑解决方案也可能会干扰滚动,但我可以忍受。 编辑:具体来说,提到的延迟是你把手指放在按钮上然后按住按钮直到按钮切换到按下状态的时间。 再次移开手指时会调用onClick处理程序。 一些答案建议将我的onClick处理程序的大部分移动到一个线程。 这不是问题。 为了更加确定,我已经删除了所有点击处理程序,并且仍然存在微小的延迟。