全屏图像画廊Android
问题描述:
对不起,我的英语。有一个迷你画廊,当你点击图片库时,它应该(图片)全屏打开。应用只需按下图像即可投掷。我究竟做错了什么? MainActivity全屏图像画廊Android
public class MainAcTwo extends Activity {
@SuppressWarnings("deprecation")
Gallery gallery;
ImageView bigimage;
@SuppressWarnings("deprecation")
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.two);
gallery=(Gallery) findViewById(R.id.gallery);
gallery.setAdapter(new ImageAdapter(this));
gallery.setOnItemClickListener(new OnItemClickListener() {
@TargetApi(Build.VERSION_CODES.HONEYCOMB) @SuppressLint("NewApi") public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
long imageId = ImageAdapter.ThumbsIds[position];
Intent fullScreenIntent = new Intent(v.getContext(), FullScreenImage.class);
fullScreenIntent.putExtra(MainAcTwo.class.getName(), imageId);
MainAcTwo.this.startActivity(fullScreenIntent);
}
});
}
}
ImageAdapter
public class ImageAdapter extends BaseAdapter implements SpinnerAdapter {
private Context context;
public ImageAdapter(Context context) {
// TODO Auto-generated constructor stub
this.context = context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return ThumbsIds.length;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup arg2) {
// TODO Auto-generated method stub
ImageView imageView=null;
if(convertView == null) {
imageView = new ImageView(context);
imageView.setLayoutParams(new Gallery.LayoutParams(215, 200));
imageView.setPadding(8, 8, 8, 8);
}else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(ThumbsIds[position]);
return imageView;
}
public static Integer[] ThumbsIds={
R.drawable.abs_icla,
R.drawable.abs_dog,
R.drawable.abs_flow,
R.drawable.abs_neb,
R.drawable.abs_rad
};
}
FullScreenImage
公共类FullScreenImage延伸活动{
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.full_image);
Intent intent = getIntent();
long imageId = (Long) intent.getExtras().get(FullScreenImage.class.getName());
ImageView imageView = (ImageView) findViewById(R.id.fullImage);
imageView.setLayoutParams(new ViewGroup.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT));
imageView.setImageResource((int) imageId);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
}
}
答
清洁你的项目,如果它不能正常工作
imageView.setLayoutParams(new ViewGroup.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT));
change it to
imageView.setLayoutParams(new LinearLayout.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT));
+0
谢谢!一切工作后更换线! – nesalexy 2014-09-21 16:37:43
+1
欢迎..一切顺利:) – 2014-09-21 16:38:28
这是什么抛出的错误,其中线? – mobilepotato7 2014-09-21 14:32:51
当我点击图片时,写道“不幸的是,myProgect已停止” 在logCat中: 致命异常:主 java.lang.ClassCastException:android.view.ViewGroup $ LayoutParams不能转换为android.widget.LinearLayout $ LayoutParams atandroid.widget.LinearLayout.measureVertical(LinearLayout.java:655) 在android.widget.LinearLayout.onMeasure(LinearLayout.java:574) 在android.view.View.measure \t在android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:4814) \t在android.widget.FrameLayout.onMeasure(FrameLayout.java:310) \t在android.view.View.measure(View.java:15172) ________________ – nesalexy 2014-09-21 14:57:46
尝试清理项目和建筑物。也许这是一些令人困惑的XML文件,因为我没有看到任何线性布局,只有一个ImageView – mobilepotato7 2014-09-21 15:04:07