- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我用 coverflow 创建了一个应用程序。我到处都看过,但似乎无法弄清楚如何在单击封面流中的每个单独图像时使用 onclicklistener 来进行简单的 Activity 。下面是我的代码,我希望有人能提供帮助,因为该应用程序可以很好地解决这 1 个问题!!
导入java.io.FileInputStream;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.LinearGradient;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.PorterDuffXfermode;
import android.graphics.Typeface;
import android.graphics.Bitmap.Config;
import android.graphics.PorterDuff.Mode;
import android.graphics.Shader.TileMode;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.ImageView.ScaleType;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CoverFlow coverFlow;
coverFlow = new CoverFlow(this);
coverFlow.setAdapter(new ImageAdapter(this));
ImageAdapter coverImageAdapter = new ImageAdapter(this);
//coverImageAdapter.createReflectedImages();
coverFlow.setAdapter(coverImageAdapter);
coverFlow.setSpacing(-15);
coverFlow.setSelection(4, true);
coverFlow.setAnimationDuration(1000);
setContentView(coverFlow);
//Use this if you want to use XML layout file
//setContentView(R.layout.main);
//coverFlow = (CoverFlow) findViewById(R.id.coverflow);
setContentView(R.layout.main);
Button main1 = (Button) findViewById(R.id.button1);
main1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
// fire intent
finish(); // finish current activity
Intent myIntent = new Intent(view.getContext(),
MainActivity.class);
startActivityForResult(myIntent, 0);
}
});
Button main2 = (Button) findViewById(R.id.button2);
main2.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
// fire intent
finish(); // finish current activity
Intent myIntent = new Intent(view.getContext(),
MainbActivity.class);
startActivityForResult(myIntent, 0);
}
});
coverFlow = (CoverFlow) findViewById(R.id.coverflow);
coverFlow.setAdapter(coverImageAdapter);
}
public class ImageAdapter extends BaseAdapter {
int mGalleryItemBackground;
private Context mContext;
private FileInputStream fis;
private Integer[] mImageIds = {
R.drawable.tabletsplash,
R.drawable.tabletsplash2,
R.drawable.tabletsplash3,
R.drawable.tabletsplash4,
R.drawable.tabletsplash5,
R.drawable.tabletsplash,
R.drawable.tabletsplash2,
R.drawable.tabletsplash3,
R.drawable.tabletsplash4,
R.drawable.tabletsplash5,
};
private ImageView[] mImages;
public ImageAdapter(Context c) {
mContext = c;
mImages = new ImageView[mImageIds.length];
}
public boolean createReflectedImages() {
//The gap we want between the reflection and the original image
final int reflectionGap = 4;
int index = 0;
for (int imageId : mImageIds) {
Bitmap originalImage = BitmapFactory.decodeResource(getResources(),
imageId);
int width = originalImage.getWidth();
int height = originalImage.getHeight();
//This will not scale but will flip on the Y axis
Matrix matrix = new Matrix();
matrix.preScale(1, -1);
//Create a Bitmap with the flip matrix applied to it.
//We only want the bottom half of the image
Bitmap reflectionImage = Bitmap.createBitmap(originalImage, 0, height/2, width, height/2, matrix, false);
//Create a new bitmap with same width but taller to fit reflection
Bitmap bitmapWithReflection = Bitmap.createBitmap(width
, (height + height/2), Config.ARGB_8888);
//Create a new Canvas with the bitmap that's big enough for
//the image plus gap plus reflection
Canvas canvas = new Canvas(bitmapWithReflection);
//Draw in the original image
canvas.drawBitmap(originalImage, 0, 0, null);
//Draw in the gap
Paint deafaultPaint = new Paint();
canvas.drawRect(0, height, width, height + reflectionGap, deafaultPaint);
//Draw in the reflection
canvas.drawBitmap(reflectionImage,0, height + reflectionGap, null);
//Create a shader that is a linear gradient that covers the reflection
Paint paint = new Paint();
LinearGradient shader = new LinearGradient(0, originalImage.getHeight(), 0,
bitmapWithReflection.getHeight() + reflectionGap, 0x70ffffff, 0x00ffffff,
TileMode.CLAMP);
//Set the paint to use this shader (linear gradient)
paint.setShader(shader);
//Set the Transfer mode to be porter duff and destination in
paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
//Draw a rectangle using the paint with our linear gradient
canvas.drawRect(0, height, width,
bitmapWithReflection.getHeight() + reflectionGap, paint);
ImageView imageView = new ImageView(mContext);
imageView.setImageBitmap(bitmapWithReflection);
imageView.setLayoutParams(new CoverFlow.LayoutParams(120, 180));
imageView.setScaleType(ScaleType.MATRIX);
mImages[index++] = imageView;
}
return true;
}
public int getCount() {
return mImageIds.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
//Use this code if you want to load from resources
ImageView i = new ImageView(mContext);
i.setImageResource(mImageIds[position]);
i.setLayoutParams(new CoverFlow.LayoutParams(300, 900));
i.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
//Make sure we set anti-aliasing otherwise we get jaggies
BitmapDrawable drawable = (BitmapDrawable) i.getDrawable();
drawable.setAntiAlias(true);
return i;
//return mImages[position];
}
/** Returns the size (0.0f to 1.0f) of the views
* depending on the 'offset' to the center. */
public float getScale(boolean focused, int offset) {
/* Formula: 1 / (2 ^ offset) */
return Math.max(0, 1.0f / (float)Math.pow(2, Math.abs(offset)));
}
}
}
最佳答案
您的 CoverFlow
类是否基于 Gallery
小部件?如果是这样,您只需设置一个 OnItemClickListener
- 当您按下 CoverFlow
/Gallery
中的项目时将触发它。
这是一个简单的例子:
coverFlow.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
// Do something }
}
);
根据职位开始 Activity :
if (arg2 == 0) {
startActivityForResult(new Intent(getApplicationContext(), ActivityA.class), 0);
} else if (arg2 == 1) {
startActivityForResult(new Intent(getApplicationContext(), ActivityB.class), 0);
}
关于Android Coverflow OnClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9120841/
我尝试在我自己的 android projet 中添加 android coverflow 当 myt Activity 启动时,我收到以下错误: 06-18 15:32:35.690: E/Andr
我正在尝试使用 AsyncImageView ( https://github.com/nicklockwood/AsyncImageView ) 作为封面来实现 Coverflow ( iCarou
我从最近两个小时开始搜寻。并发现了CoverFlow的许多链接。但大多数情况下无法在iOS 5上使用,并且会出错。使用很多代码,我可以更改编译器设置,但不适用于我。 请提供与iOS 5或任何开放源代码
有人可以向我推荐任何适用于 Android 的 CoverFlow 示例或库,它们可以达到与 IOS CoverFlow 相同的效果吗?对选择具有封面翻转效果。我浏览了几个 android 库和示例,
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
我已经实现了 Android Coverflow 示例。单击图像时,我可以检索它的位置并在 ImageView 中显示图像。我的另一个要求是在我传递其 Id 时将图像聚焦在 coverFlow 中。我
我正在将这个伟大的项目用于 iPhone 的 Cover Flow (OpenFlow)。 https://github.com/thefaj/OpenFlow/ 但是,这仅支持图像。例如,当我修改代
在我的一个应用程序中,我需要从数据库中读取文本并将其显示给用户。为此,我想到了使用 Coverflow。那么这里的任何人都可以让我知道,是否可以使用 CoverFlow 而不是图像来显示文本?我正在尝
我想用自定义适配器创建一个封面流程( ImageView 作为缩略图, TextView 作为标题,进度条指示一些进展......)。 Cover flow widget 的所有示例或实现均基于 Ga
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我想制作 UIScrollView 或像这样的封面流 我尝试了一些像 icaraousal 等的封面流,但那些没有产生像这样的感觉所以如果有人知道这种类型的封面那么请给我建议. 和iCarousal创
我用 coverflow 创建了一个应用程序。我到处都看过,但似乎无法弄清楚如何在单击封面流中的每个单独图像时使用 onclicklistener 来进行简单的 Activity 。下面是我的代码,我
我正在使用https://github.com/Polidea/android-coverflow我的应用程序中的 coverflow 小部件。我遇到的问题是我无法控制小部件的起始位置。我很惊讶没有人
我想为非触摸应用程序实现 CoverFlow。就像是: https://www.youtube.com/watch?v=0MT58xIzp5c 我已经掌握了基础知识,但有两个问题: 与轻弹相比,使用鼠
我正在使用这个 CoverFlow:http://www.inter-fuser.com/2010/02/android-coverflow-widget-v2.html . 我用这个 coverfl
我想在我的 Wordpress 主题内的 Swiper 实例上使用 coverflow 效果。我注意到在我将开发控制台附加到页面下并更改断点之前,效果不会被触发。我需要修复,这是代码。是否可以使用 P
这是我最喜欢的封面: http://paulbakaus.com/lab/js/coverflow/ 有什么办法可以下载吗?或者有实现指南吗? 我看到的只是一些博客文章,没有关于如何实现的内容。 谢谢
我有这个页面,其中应该附有一个粘性导航。在页面上,有一个我从 dynamicdrive.com 获得的 coverflow 插件。 coverflow 插件就像一个图像 slider 。它看起来像这样
我正在尝试使用这个插件: http://www.jacksasylum.eu/ContentFlow/ 2分: 我想知道如何将它放入我的 div 并留在 div 的体积内?就像现在一样,我的 div
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 18 天前
我是一名优秀的程序员,十分优秀!