我想这是在GridView中的图像应在众目睽睽之下展示 [英] I want the Images which are on the gridView should show in full View
问题描述
全部活动课,其中我想全屏显示图像。我有一个显示在GridView它的所有图像。我不是在这所面临的问题,但是当我点击GridView中的形象它为我作我召刚XML文件。我想我做错了的地方在这里呼吁中的id FullImageAcitivity文件。
公共类FullImageActivity延伸活动{按钮,下载,setas;
@覆盖
公共无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.full_image);
setas =(按钮)findViewById(R.id.setas);
下载=(按钮)findViewById(R.id.download);
最终意图I = getIntent();
最终名单<项目>项目=新的ArrayList<项目>();
最后ImageAdapter imageAdapter =新ImageAdapter(本);
ImageView的ImageView的=(ImageView的)findViewById(R.id.full_image_view);
imageView.setImageResource(items.indexOf(I));
setas.setOnClickListener(新OnClickListener(){ @覆盖
公共无效的onClick(视图v){
// TODO自动生成方法存根
WallpaperManager myWallpaperManager
= WallpaperManager.getInstance(getApplicationContext());
尝试{
myWallpaperManager.setResource(imageAdapter.items.indexOf(I));
}赶上(例外五){
// TODO自动生成catch块
e.printStackTrace();
}
}
});
}
}
这是我的imageAdapter文件。
公共类ImageAdapter延伸BaseAdapter {
清单<项目>项目=新的ArrayList<项目>();
私人LayoutInflater吹气;公共ImageAdapter(上下文的背景下){
充气= LayoutInflater.from(上下文); items.add(新项目(一,R.drawable.abstact_one));
items.add(新项目(二,R.drawable.abstract_three));
items.add(新项目(三公,R.drawable.image_two));
items.add(新项目(四,R.drawable.image_four));
items.add(新项目(十二五,R.drawable.image_five));
items.add(新项目(六个一,R.drawable.image_nine));
items.add(新项目(七宗罪,R.drawable.image_ten));
}@覆盖
公众诠释的getCount(){
返回items.size();
}@覆盖
公共对象的getItem(int i)以{
返回items.get(ⅰ);
}@覆盖
众长getItemId(int i)以{
返回items.get(我).drawableId;
}@覆盖
公共查看getView(INT I,观景,ViewGroup中的ViewGroup){
视图V =视图。
ImageView的图片;
TextView的名称; 如果(V == NULL){
V = inflater.inflate(R.layout.other,ViewGroup中,FALSE);
v.setTag(R.id.picture,v.findViewById(R.id.picture));
v.setTag(R.id.text,v.findViewById(R.id.text));
} 照片=(ImageView的)v.getTag(R.id.picture);
名称=(TextView中)v.getTag(R.id.text); 项目项目=(项目)的getItem(I) picture.setImageResource(item.drawableId);
name.setText(item.name); 返回伏;
}私有类项目{
最终字符串名称;
最终诠释drawableId; 项目(字符串名称,诠释drawableId){
this.name =名称;
this.drawableId = drawableId;
}
}
}
latestTab活动文件
公共类LatestTab延伸活动{@覆盖
公共无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.latestphotos); GridView控件的GridView =(GridView控件)findViewById(R.id.grid_view); // ImageAdapter类的实例
gridView.setAdapter(新ImageAdapter(本)); / **
*在单人项目的GridView Click事件
* * /
gridView.setOnItemClickListener(新OnItemClickListener(){
@覆盖
公共无效onItemClick(适配器视图<>母公司,视图V,
INT位置,长的id){ //发送图片ID来FullScreenActivity
意图I =新意图(getApplicationContext(),FullImageActivity.class);
//传递数组索引
i.putExtra(ID,位置);
startActivity(ⅰ);
}
});}
}
full_image.xml
<?XML版本=1.0编码=UTF-8&GT?;
< LinearLayout中的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =match_parent
机器人:layout_height =match_parent
机器人:方向=垂直>< RelativeLayout的
机器人:ID =@ + ID / relshare
机器人:layout_width =FILL_PARENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignParentTop =真
机器人:背景=#79B8B8B8> <按钮
机器人:ID =@ + ID / setas
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignParentTop =真
机器人:layout_marginLeft =14dp
机器人:layout_toRightOf =@ + ID /股
机器人:重力=右
机器人:文字=设置为
机器人:TEXTSIZE =25sp/> <按钮
机器人:ID =@ + ID /下载
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignParentRight =真
机器人:layout_alignParentTop =真
机器人:layout_marginRight =34dp
机器人:文字=下载
机器人:TEXTSIZE =25sp/>< / RelativeLayout的>< ImageView的机器人:ID =@ + ID / full_image_view
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT/>< / LinearLayout中>
latestphotos.xml
<?XML版本=1.0编码=UTF-8&GT?;
<的FrameLayout
的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =match_parent
机器人:layout_height =match_parent
>
< GridView控件
机器人:ID =@ + ID / grid_view
机器人:layout_width =match_parent
机器人:layout_height =match_parent
机器人:verticalSpacing =0dp
机器人:horizontalSpacing =0dp
机器人:stretchMode =columnWidth时
机器人:为numColumns =2
/>
< /&的FrameLayout GT;
在你的 LatestTab
声明列表作为一个类成员
列表<项目>项目=新的ArrayList<项目>();
添加项目到列表中。
items.add(新项目(一,R.drawable.abstact_one));
items.add(新项目(二,R.drawable.abstract_three));
items.add(新项目(三公,R.drawable.image_two));
items.add(新项目(四,R.drawable.image_four));
items.add(新项目(十二五,R.drawable.image_five));
items.add(新项目(六个一,R.drawable.image_nine));
items.add(新项目(七宗罪,R.drawable.image_ten));
您Item类
公共类项目{
字符串名称;
INT绘制;
公众诠释getDrawable(){
返回绘制;
}
公共无效setDrawable(INT绘制){
this.drawable =绘制;
}
公共项目(字符串名称,诠释ID)
{
this.name =名称;
this.drawable = ID;
}
公共字符串的getName(){
返回名称;
}公共无效setname可以(字符串名称){
this.name =名称;
}}
通过列表适配器类的构造函数
gridView.setAdapter(新ImageAdapter(这一点,项目));
在构造
列表<项目>项目;
公共ImageAdapter(上下文的背景下,列表与LT;项目>项目){
充气= LayoutInflater.from(上下文);
this.items =物品;
}
然后getVIew
项目项=(项目)items.get(I)
picture.setImageResource(item.getDrawable());
然后在项目点击监听器
项项= items.get(位置);
INT ID = item.getDrawable();
意图I =新意图(getApplicationContext(),FullImageActivity.class);
i.putExtra(idkey,ID); //通过ID
startActivity(ⅰ);
然后在FullImageActivity
INT ID = getIntent()getIntExtra(idkey); //获取ID
imageview.setImageResource(ID); //设置绘制到ImageView的
Full Activity Class where the I want to display the Image in full Screen. I have all the images showing it in the gridView. I am not facing problem in that, however when I click on the image of the gridview it shows me the just the xml file which I have called. I guess I am doing wrong somewhere calling the id here in the FullImageAcitivity file.
public class FullImageActivity extends Activity {
Button download, setas;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.full_image);
setas = (Button) findViewById(R.id.setas);
download = (Button)findViewById(R.id.download);
final Intent i = getIntent();
final List<Item> items = new ArrayList<Item>();
final ImageAdapter imageAdapter = new ImageAdapter(this);
ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
imageView.setImageResource(items.indexOf(i));
setas.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
WallpaperManager myWallpaperManager
= WallpaperManager.getInstance(getApplicationContext());
try {
myWallpaperManager.setResource(imageAdapter.items.indexOf(i));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}
here is my imageAdapter file.
public class ImageAdapter extends BaseAdapter {
List<Item> items = new ArrayList<Item>();
private LayoutInflater inflater;
public ImageAdapter(Context context) {
inflater = LayoutInflater.from(context);
items.add(new Item("One", R.drawable.abstact_one));
items.add(new Item("Two", R.drawable.abstract_three));
items.add(new Item("Three", R.drawable.image_two));
items.add(new Item("Four", R.drawable.image_four));
items.add(new Item("Five", R.drawable.image_five));
items.add(new Item("Six", R.drawable.image_nine));
items.add(new Item("Seven", R.drawable.image_ten));
}
@Override
public int getCount() {
return items.size();
}
@Override
public Object getItem(int i) {
return items.get(i);
}
@Override
public long getItemId(int i) {
return items.get(i).drawableId;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
View v = view;
ImageView picture;
TextView name;
if(v == null) {
v = inflater.inflate(R.layout.other, viewGroup, false);
v.setTag(R.id.picture, v.findViewById(R.id.picture));
v.setTag(R.id.text, v.findViewById(R.id.text));
}
picture = (ImageView)v.getTag(R.id.picture);
name = (TextView)v.getTag(R.id.text);
Item item = (Item)getItem(i);
picture.setImageResource(item.drawableId);
name.setText(item.name);
return v;
}
private class Item {
final String name;
final int drawableId;
Item(String name, int drawableId) {
this.name = name;
this.drawableId = drawableId;
}
}
}
latestTab Activity File
public class LatestTab extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.latestphotos);
GridView gridView = (GridView) findViewById(R.id.grid_view);
// Instance of ImageAdapter Class
gridView.setAdapter(new ImageAdapter(this));
/**
* On Click event for Single Gridview Item
* */
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
// Sending image id to FullScreenActivity
Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
// passing array index
i.putExtra("id", position);
startActivity(i);
}
});
}
}
full_image.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/relshare"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="#79B8B8B8" >
<Button
android:id="@+id/setas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="14dp"
android:layout_toRightOf="@+id/share"
android:gravity="right"
android:text="Set As"
android:textSize="25sp" />
<Button
android:id="@+id/download"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="34dp"
android:text="Download"
android:textSize="25sp" />
</RelativeLayout>
<ImageView android:id="@+id/full_image_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
latestphotos.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<GridView
android:id="@+id/grid_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:verticalSpacing="0dp"
android:horizontalSpacing="0dp"
android:stretchMode="columnWidth"
android:numColumns="2"
/>
</FrameLayout>
In your LatestTab
Declare the list as a class member
List<Item> items = new ArrayList<Item>();
Add the items to the list
items.add(new Item("One", R.drawable.abstact_one));
items.add(new Item("Two", R.drawable.abstract_three));
items.add(new Item("Three", R.drawable.image_two));
items.add(new Item("Four", R.drawable.image_four));
items.add(new Item("Five", R.drawable.image_five));
items.add(new Item("Six", R.drawable.image_nine));
items.add(new Item("Seven", R.drawable.image_ten));
Your Item class
public class Item {
String name;
int drawable;
public int getDrawable() {
return drawable;
}
public void setDrawable(int drawable) {
this.drawable = drawable;
}
public Item(String name, int id)
{
this.name= name;
this.drawable = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Pass the list to the constructor of adapter class
gridView.setAdapter(new ImageAdapter(this,items));
In the constructor
List<Item> items;
public ImageAdapter(Context context,List<Item> items) {
inflater = LayoutInflater.from(context);
this.items = items;
}
then in getVIew
Item item = (Item)items.get(i);
picture.setImageResource(item.getDrawable());
Then in item click listener
Item item = items.get(position);
int id = item.getDrawable();
Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
i.putExtra("idkey", id); // pass the id
startActivity(i);
Then in FullImageActivity
int id = getIntent().getIntExtra("idkey"); //get id
imageview.setImageResource(id); // set the drawable to imageview
这篇关于我想这是在GridView中的图像应在众目睽睽之下展示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!