Tag: 视图

在Android中显示巨大的图像

我打算在Android中显示非常大的图像。 我的第一个解决scheme – 以pdf的forms提供 – 没有成功,因为并不是每个手持设备都预装了pdf查看器,而且我也不想要求用户安装。 所以我现在有一个PNG (宽= 3998px高= 2827px) ,我想要显示。 我下载了这个图像来testing它将如何显示在画廊上。 这是相当痛苦的。 看来这个画面只能渲染一次,如果我放大,我根本看不懂。 所以我写了一个testActivity,它只是一个embedded在LinearLayout中的ImageView。 我把图像放入drawable中,并将其设置为ImageView的图像源。 不幸的是,应用程序立即崩溃,由于“ ERROR/AndroidRuntime(8906): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget" 我没想到,单个镜像对于VM's memory可能太大了。 我玩了一下,把ImageViews大小设置为3998 & 2827px ,把Image放到sdCard ,用fileInputStream手动读取。 令我大吃一惊的是,它现在显示了我的图像,但是如果我将Nexus S水平翻转,我会得到和以前一样的OutOfMemoryError 。 有些人可能会指出通过FileInputStream接收Bitmap或将其设置为ImageView's源代码之间的主要区别。 此外,我不能够舒适地与两个父scrollViews 我寻找一个简单的解决scheme,一次显示ONE large image ,能够scroll horizontal and vertical同时可以放大和缩小。 这里是我想要显示的图像的示例

当一个片段被replace,并放在后面的堆栈(或删除)是否留在内存中?

行为与“活动”的工作方式相似吗? 例如与活动它像这样工作: 活动A启动活动B ,而B在屏幕上,如果系统需要,系统能够从内存中移除A. 按BACK键后, A将被重新创build到内存中,就好像它从来没有离开过一样。 我已经找了一个明确的解释,发生了什么事情记忆与碎片明智,没有发现任何东西。 它以同样的方式工作吗? 例如: 活动C在其布局中具有片段F. 然后,在某一点F被片段Greplace,但是F被保留在其后面的堆栈中。 将F留在内存中,直到C被杀死或者可以根据需要被系统删除? 我真正想问的是,如果我在单个活动中有一堆复杂的片段,我是否会面临内存不足的风险?

在启用滚动时调用`getDrawingCache`将返回null

这段代码中缺less什么? 这个相同的代码适用于ICS。 在API 8上滚动出现,一些内容不在屏幕上。 在这种情况下如何获得graphicscaching? 码: TableLayout page = (TableLayout) findViewById(R.id.page); page.setDrawingCacheEnabled(true); page.buildDrawingCache(); // getDrawingCache returns null… Bitmap pageBmp = Bitmap.createBitmap(page.getDrawingCache(true)); page.destroyDrawingCache(); page.setDrawingCacheEnabled(false);

在iOS 6上不赞成groupTableViewBackgroundColor?

我只是testing我的应用程序与iOS 6.0和Xcode 4.5GM,我已经build立了一个这样的看法: [self.view setBackgroundColor:[UIColor groupTableViewBackgroundColor]]; 所以,这个视图与普通的表格视图有相同的模式。 这适用于iOS 4和5,但在iOS 6中,它只是给我一个白色的背景。 这是否被弃用? 如果是这样,我该如何更换? 谢谢

如何使补充视图在UICollectionView中浮动为UITableView普通样式的Section Headers

我努力实现与UICollectionView “浮动部分标题”效果。 在UITableView ( UITableView默认行为)中已经足够容易了,在UICollectionView似乎是不可能的。 我是否错过了明显的? 苹果公司没有提供如何实现这一目标的文件。 看来,人们必须UICollectionViewLayout并实现一个自定义的布局才能达到这个效果。 这需要相当多的工作,实施以下方法: 重写的方法 每个布局对象应该实现以下方法: collectionViewContentSize layoutAttributesForElementsInRect: layoutAttributesForItemAtIndexPath: layoutAttributesForSupplementaryViewOfKind:atIndexPath: (if your layout supports supplementary views) layoutAttributesForDecorationViewOfKind:atIndexPath: (if your layout supports decoration views) shouldInvalidateLayoutForBoundsChange: 然而,我不清楚如何使补充视图在单元格上方浮动,并“粘”到视图的顶部,直到到达下一个部分。 在布局属性中是否有这个标志? 我会使用UITableView但我需要创build一个相当复杂的集合层次结构,这很容易通过集合视图来实现。 任何指导或示例代码将不胜感激!

为什么使用'*'来build立一个视图不好?

为什么使用'*'来build立一个视图不好? 假设你有一个复杂的连接,所有的字段都可以用在某个地方。 那么你只需要select所需的领域。 SELECT field1, field2 FROM aview WHERE … “aview”视图可以是SELECT table1.*, table2.* … FROM table1 INNER JOIN table2 … 如果两个字段在table1和table2中具有相同的名称,则会出现问题。 这只是为什么在视图中使用“*”是不好的原因? 使用'*',您可以在不同的上下文中使用视图,因为信息在那里。 我错过了什么? 问候

如何在Android中进行平滑的图像旋转?

我正在使用RotateAnimation来旋转我在Android中用作自定义循环微调器的图像。 这是我放在res/anim/ rotate_indefinitely.xml文件: <?xml version="1.0" encoding="UTF-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:toDegrees="360" android:pivotX="50%" android:pivotY="50%" android:repeatCount="infinite" android:duration="1200" /> 当我使用AndroidUtils.loadAnimation()其应用于ImageView ,效果非常好! spinner.startAnimation( AnimationUtils.loadAnimation(activity, R.anim.rotate_indefinitely) ); 一个问题是,图像旋转似乎在每个周期的顶部暂停。 换句话说,图像旋转360度,短暂暂停,然后再旋转360度,等等。 我怀疑问题是animation是使用像android:iterpolator="@android:anim/accelerate_interpolator" ( AccelerateInterpolator )的默认插补器,但我不知道如何告诉它不插入animation。 我怎样才能closures插值(如果这确实是问题),使我的animation循环顺利?

Android – 无法捕捉退格/删除软按。 键盘

我重写视图的onKeyDown方法(openGL表面视图)以捕获所有按键。 问题是在几个设备上KEYCODE_DEL没有被捕获。 我已经尝试添加一个onKeyListener到视图,并捕获除了退格键之外的所有东西。 必须有一种方法来听取这个关键的新闻事件,但如何?

Android – 获取计时器小部件的时间

如何从天文台得到时间? 我尝试了getText,getFormat,getBase等,但没有一个可以工作。 示例代码片段: Chronometer t = (Chronometer)findViewById(R.id.toptime); long time = SystemClock.elapsedRealtime()-t.getBase(); Log.d(null,"Was: "+time); //time is not the proper time for some reason – it is a random number between 0 and 50 t.setBase(SystemClock.elapsedRealtime()); t.start();

有没有办法编程滚动滚动视图到特定的编辑文本?

我有一个很长的活动与滚动视图。 这是一个用户必须填写的各种领域的表单。我有一个checkbox,在用户检查时,我想滚动到视图的特定部分。 有没有办法以编程方式滚动到EditText对象(或任何其他视图对象)? 此外,我知道这是可能的使用X和Y的坐标,但我想避免这样做,因为forms可能会改变从用户到用户。