我有一个ListView显示新闻项目。 他们包含一个图像,一个标题和一些文字。 图像被加载到一个单独的线程(有一个队列和所有的),并且当图像被下载时,我现在调用列表适配器上的notifyDataSetChanged()来更新图像。 这个工作,但getView()被调用得太频繁,因为notifyDataSetChanged()调用所有可见项的getView() 。 我想只更新列表中的单个项目。 我将如何做到这一点? 我现在的做法存在的问题是: 滚动缓慢 每次加载列表中的单个新图像时,图像上都会出现淡入淡出的animation。
Android中状态栏的高度是多less? 它总是一样的吗? 从我的测量看来,它似乎是25dp,但我不确定它是否在所有平台上具有相同的高度。 (我想知道这个从一个没有状态栏的活动中正确地实现一个淡入淡出的过渡)
Resources.getColor(int id)方法已被弃用。 @ColorInt @Deprecated public int getColor(@ColorRes int id) throws NotFoundException { return getColor(id, null); } 我能做什么?
那么,我已经search了几天了,如何在Android WebView上以全屏模式显示HTML5video。 我设法在我的webview上播放HTML5video。 以全屏模式显示video时出现问题。 据我所知,android有两种处理<video>标签的方法: 在android版本<= 2.3.3上 ,onShowCustomView方法被触发,我可以有VideoView实例,并在video完成时设置监听器,设置控制器等等。 在ICS上(可能是3.0以上) ,它看起来像<video>以不同的方式处理。 当播放HTML5video时,onShowCustomView不会在普通模式下被调用 – 看起来好像在WebView内部有一个播放video的内部业务,并且显示了<video>标签中定义的所有控件 – I无法以任何方式访问它。 实际上,如果video是在正常模式下播放的,这是可以的,因为这些控件在那里并且正在工作。 这导致了我的一个大问题:当以全屏模式显示video时,onShowCustomView被调用 – 但在ICS上,“view”参数不是VideoView的一个实例。 我设法发现实例是VideoSurfaceView,它是HTML5VideoFullScreen类的私有内部类。 我们能够进入这个内部阶层的唯一途径就是通过反思。 在查看这个类的GrepCode后,我了解到,与VideoView不同的是,HTML5VideoFullScreen $ VideoSurfaceView不包含MediaPlayer实例,我可以监听其事件或访问其控件。 我能做的唯一事情就是把这个VideoSurfaceView照原样放在一个全屏幕布局中,而不用控制它。 底线 – 当全屏显示video时,我不知道video何时结束,其控制不显示 – 这是非常可悲的。 我无法得到closures全屏幕的触发器。 我尝试了几个不成功的解决方法: 反思:我尝试从内部类VideoSurfaceView到达包含MediaPlayer成员的HTML5VideoFullScreen实例。 我没有设法得到它,我不知道这是可能的(ViewSurfaceView不拥有它的所有者的实例)。 通过Javascript注册video事件(例如onended),并通过JavascriptInterface处理我在JAVA中需要的东西:我发现这个解决scheme不可靠,因为在这样做的时候,我遇到了另外一个问题:<video>标签可以嵌套在一个。 iframe源不是我的,我不能得到它的内容(getElementById或getElementsByTagName [i]是空值) – 这意味着,我无法到达iframe中的<video>元素。 我仍然在寻找一个解决scheme,关于这个问题写得很less。 有没有人设法解决它? 帮助将不胜感激! VideoView类: 这里 (有MediaPlayer) HTML5VideoFullScreen $ VideoSurfaceView类: 这里 (没有MediaPlayer)
我刚刚升级我的应用程序使用新发布的v22.1.0 AppCompat,我现在得到以下exception,当我打开我的应用程序。 Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:360) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:246) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106) 我该如何解决?
好吧,我一直在阅读,四处搜寻,现在正在把我的头撞在墙上试图弄清楚这一点。 以下是我到目前为止: package com.pockdroid.sandbox; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.widget.ImageView; public class ShadowImageView extends ImageView { private Rect mRect; private Paint mPaint; public ShadowImageView(Context context) { super(context); mRect = new Rect(); mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setShadowLayer(2f, 1f, 1f, Color.BLACK); } @Override protected void onDraw(Canvas canvas) { Rect r […]
我有很多的日志语句来debugging例如。 Log.v(TAG, "Message here"); Log.w(TAG, " WARNING HERE"); 同时在设备电话上部署此应用程序,我想closures从我可以启用/禁用日志的详细日志logging。
我是新来的android编程,并启动了一个示例hello世界程序,但坚持以下错误: 07-05 13:52:20.830: W/dalvikvm(898): threadid=1: thread exiting with uncaught exception (group=0xb2ac4d70) 07-05 13:52:20.850: E/AndroidRuntime(898): FATAL EXCEPTION: main 07-05 13:52:20.850: E/AndroidRuntime(898): Process: com.example.helloandroid, PID: 898 07-05 13:52:20.850: E/AndroidRuntime(898): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.helloandroid/com.example.helloandroid.MainActivity}: android.util.AndroidRuntimeException: You cannot combine swipe dismissal and the action bar. 07-05 13:52:20.850: E/AndroidRuntime(898): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2197) 07-05 13:52:20.850: E/AndroidRuntime(898): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2258) 07-05 13:52:20.850: […]
我试图通过代码截取我的游戏,并通过意图分享。 我能够做到这些事情,但截图总是显示为黑色。 这是与共享屏幕截图有关的代码: View view = MainActivity.getView(); view.setDrawingCacheEnabled(true); Bitmap screen = Bitmap.createBitmap(view.getDrawingCache(true)); .. save Bitmap 这是在MainActivity中: view = new GameView(this); view.setLayoutParams(new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT)); public static SurfaceView getView() { return view; } 而视图本身: public class GameView extends SurfaceView implements SurfaceHolder.Callback { private static SurfaceHolder surfaceHolder; …etc 这就是我如何绘制一切: Canvas canvas = surfaceHolder.lockCanvas(null); if (canvas != null) […]
http://developer.android.com/training/implementing-navigation/nav-drawer.html 根据这个文件,并没有说是否有可能从右侧执行抽屉。 这甚至有可能吗? 🙁