我有一个android.support.v4.view.ViewPager在我的应用程序中,我想区分以编程方式启动的平滑滚动和用户启动的触摸滚动.
我已经看过了ViewPager.OnPageChangeListener,我相信答案可能就在那里,但我只是不确定如何.
对于我目前正在编写的程序,我需要一个简单的图像编辑器.基本上,用户只需从库中选择图像即可导航到此编辑器.选择后,将创建图像编辑器活动,并允许用户执行简单的编辑操作,如旋转,亮度调整,缩放等.
目前,我已经设法相对轻松地实现上述功能.我的问题在于动态地将相关图像添加到ImageView.你们许多人可能知道; Binder事务缓冲区具有有限的固定大小,当前为1Mb,由进程中正在进行的所有事务共享.因此,我只能将压缩版本的位图加载到我的ImageView中,这对我来说是一个相当大的问题(我的程序主要是为平板电脑设计的).我已经对这个问题做了大量的研究,并且发现可以将Bitmap分成几个较小的位图,并将它们放在几个ImageView中,以创建一个连续图像的错觉BitmapRegionDecoder(如本线程所示).虽然这已经成功地允许我显示大图像,但我不知道我应该如何使用多个实例来实现缩放功能ImageView.是否有一种相对简单的方法可以做到这一点?
我目前正在尝试创建一个简单的图片库,就像现在已弃用的Android一样Gallery.从该库中,用户还可以通过从库中选择图像来导航到简单的图像编辑器.很多谷歌搜索后,我设法找到了HorizontalListView 这里,这正是我需要的.最初我通过将图像作为压缩位图插入到我的文件夹中而获得了很多成功.从那以后,我从谷歌I/O中找到了这个视频,他们创建了一个图像库和一个图像编辑器; 类似于我试图创造的东西.然而,我的应用程序和他们的应用程序有两个主要区别:
GridView为他们的画廊,我使用前面提到的HorizontalListView到目前为止,我无法使他们的代码适应我的,因为没有任何图像加载到我的画廊.与视频一样,我使用AsyncTask来加载我的缩略图:
private class ThumbnailAsyncTask extends AsyncTask<Long, Void, Bitmap>
{
//The ImageView we will be adding the thumbnail to
private final ImageView mTarget;
public ThumbnailAsyncTask(ImageView target)
{
mTarget = target;
}
@Override
protected Bitmap doInBackground(Long... params)
{
final long photoID = params[0];
final Bitmap result = MediaStore.Images.Thumbnails.getThumbnail(
getContentResolver(), photoID, MediaStore.Images.Thumbnails.MINI_KIND, null);
return result;
}
@Override
protected void onPreExecute()
{
mTarget.setTag(this);
}
@Override
protected void onPostExecute(Bitmap …Run Code Online (Sandbox Code Playgroud) 好了,我现在知道这个问题已经在SO上多次被问过,但没有一个答案对我有用.
我正在尝试为我的项目创建自定义首选项.更具体地说,它是HorizontalListView直接附在其下面的偏好.我基本上通过修改此代码来创建它SeekBarPreference(我也使用它并且工作正常).我和ListViewPreference它位于完全相同的文件夹SeelkBarPreference(正如我所说的那样没有问题)但是我经常得到一个ClassNotFoundException(见下面的logcat).这是我的ListViewPreference班级:
package com.example.ebookreader;
import android.content.Context;
import android.content.res.TypedArray;
import android.preference.Preference;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewParent;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class ListViewPreference extends Preference {
private final String TAG = getClass().getName();
private static final String ROBOBUNNYNS = "http://robobunny.com";
private static final int DEFAULT_VALUE = 50;
private int mCurrentValue;
private String mUnitsLeft = "";
private String mUnitsRight = …Run Code Online (Sandbox Code Playgroud) android android-layout classnotfoundexception layout-inflater