Articles of android view

可以直接跳转到ViewAnimator中的第二个视图

我有一个ViewAnimator (精确的ViewSwitcher ),它有与之关联的淡入/淡出animation和两个Views ,我使用ViewAnimator.showNext()和ViewAnimator.showPrevious()方法进行转换。 在我的应用程序中有一个要求,有时我需要直接从第二个View ,而不显示从第一个View到第二个View的淡入淡出animation。 任何人都知道是否有一种直接的方法来实现这一点,而不必乱用与我的ViewAnimator相关的进/出animation? 注意:我尝试调用ViewAnimator.setDisplayedChild(1)但这也会animation转换。

Android浮动按钮在视图上

我试图在我的视图上有一个浮动按钮,我用Google搜索并发现这个链接很好地总结了它。 http://www.jondev.net/articles/Floating_Views_in_Android_(Buttons) 虽然这对于一个按钮来说是正确的,但如果我想在“左上角”有两个浮动按钮而在“右下角”有另一个按钮。 我想到了一个相对布局,它有两个按钮,布局重力不同。 这会有用吗 我试过了,然后失败了。 有没有其他人试图这样做? 有没有办法做到这一点,如果是这样,请告诉我。

为什么在invalidate之后直接调用requestLayout

我正在学习自定义视图,并想了解invalidate()和requestLayout() 。 请参考这个答案及其图表: https://stackoverflow.com/a/25846243/4243687 invalidate()告诉Android视图状态已更改,需要重新绘制。 requestLayout()表示视图的大小可能已更改,需要重新测量,然后重新绘制。 invalidate()将调用dispatchDraw() , draw()和onDraw()因此它会重新呈现视图。 另一方面, requestLayout()几乎可以完成从测量到重新渲染的所有事情。 为什么那么多的例子(甚至是TextView源代码)在下一行调用invalidate()然后再调用requestLayout() ?

如何在android中实现自定义堆栈视图?

我搜索过互联网,但我找不到一些好的解释或建议。 基本上,我想实现这个function。 在滑下来 我使用了StackView类,我得到的就是这个“对角线”堆栈 我希望观点一个接一个,如上图所示。 类似的问题在这里被问到 – > Android自定义stackview ,但我找不到任何令人满意的答案。 我已经按照建议阅读了StackView的代码,但老实说,我不知道如何自定义它以获得我想要的东西。 当我更改PERSPECTIVE_SHIFT_FACTOR_X或PERSPECTIVE_SHIFT_FACTOR_Y的值时,没有任何变化,我得到相同的“对角线视图”。 我错过了什么吗? 提前谢谢你的答案。

如何将自定义视图添加到布局?

我有一个从View类扩展的GraphicsView类,我想将这个GraphicsView类添加到我的项目中的主布局。 我怎样才能做到这一点? static public class GraphicsView extends View { public GraphicsView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { // Drawing commands go here Path rect = new Path(); rect.addRect(100, 100, 250, 50, Direction.CW); Paint cPaint = new Paint(); cPaint.setColor(Color.LTGRAY); canvas.drawPath(rect, cPaint); } } 和我的main.xml :

检查片段当前是否可见

我知道StackOverflow中有很多类似的问题,但我的问题却略有不同。 我有嵌套的Fragments层次结构,如下面的结构: Activity | | AFragment | (ViewPager) | | | | BFragment BFragment ….. | (ViewPager) | | | | CFragment CFragment … | (ViewPager) | | | | DFragment DFragment … 现在我想知道DFragment是否向用户显示? 我尝试了很多来自StackOverflow的解决方案,但无法取得成功。 我尝试的是: 我尝试了setUserVisibleHint()但它为上面层次结构中的多个DFragment返回true ,这是ViewPager一个原因 我也试过这些链接: link1 , link2 , link3等……但没有得到实际的解决方案。 等待帮助。 谢谢。 UPDATE 适配器类 class ViewPagerAdapter extends FragmentPagerAdapter { private final […]

绘制视图和所有它的孩子

我正在尝试将视觉效果应用于视图组。 我的想法是获取视图组的位图,缩小它,将其展开,然后在视图组上绘制它,使其具有块状,低质量的效果。 我使用这段代码的大部分方式都是: public class Blocker { private static final float RESAMPLE_QUALITY = 0.66f; // less than 1, lower = worse quality public static void block(Canvas canvas, Bitmap bitmap_old) { block(canvas, bitmap_old, RESAMPLE_QUALITY); } public static void block(Canvas canvas, Bitmap bitmap_old, float quality) { Bitmap bitmap_new = Bitmap.createScaledBitmap(bitmap_old, Math.round(bitmap_old.getWidth() * RESAMPLE_QUALITY), Math.round(bitmap_old.getHeight() * RESAMPLE_QUALITY), true); […]

在onCreateViewHolder中获取View的位置

我正在使用带有ImageView和TextView的单行布局的RecyclerView。 我想为View实现一个OnClickListener,而不是为单独的ViewHolder对象实现。 如何在适配器中获取视图的位置? 现在我正在删除点击的评论,但我无法选择点击的视图。 我在适当的行中添加了一个TODO。 public class CommentAdapter extends RecyclerView.Adapter { /** List of Comment objects */ private List mCommentList; /** Database with Comment objects */ private CommentsDataSource mDataSource; /** * Construcutor for CommentAdapter * * @param commentList List of Comment objects * @param dataSource Database with Comment objects */ public CommentAdapter(List commentList, CommentsDataSource dataSource) […]

RelativeLayout – CenterInParent和marginTop

我有以下XML: 但它看起来就像marginTop被忽略了。

不是DRM文件,正常开放

我正在寻找一个关于通过调用BitmapFactory.decodeFile引起的重复日志打印的解决方案。 在我的应用程序中,我有一个每秒由计时器重绘的ListView 。 ListView有一个ImageView ,它从本地存储获取图像源(而不是来自网络) 图像存储在: filePath = /data/data/com.xxx.testlib/files/b22a1a294fd6e5ad3ea3d25b63c4c735.jpg 我使用以下代码重绘图像,它工作正常。 毫无例外。 try { File filePath = context.getFileStreamPath(imageName); if(filePath.exists()){ bMap = BitmapFactory.decodeFile(filePath.getPath()); } }catch (Exception e) { e.printStackTrace(); } 但是在执行以下行时: bMap = BitmapFactory.decodeFile(filePath.getPath()); 我在日志中看到如下打印: 03-07 09:55:29.100: I/System.out(32663): Not a DRM File, opening notmally 03-07 09:55:29.105: I/System.out(32663): buffer returned …. 如何从打印到日志中读取。 谢谢你 编辑 每当执行此操作时,它也会滞后于手机。 特别是当电话被Waked up时,这种降低的性能是显而易见的,我们使用此代码返回活动。 它已超过一年的OP,但仍未find答案。 […]