嗨,我对Android很新,我基本上卡住了。我有一些图像路径(例如字符串路径),我想在GridView
上显示这些图像。
这是一个实际上膨胀由GridView
组成的布局的类。
public class FragmentLayout extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
//String path = "/mnt/sdcard/Android/data/com.android.browser/files/Download/2014-01-10-00-13-39--1894493676.jpeg";
View rootView = inflater.inflate(R.layout.fragment_layout, container, false);
return rootView;
}
}
请问任何指南?
答案 0 :(得分:0)
由于你是android的新手,你可能最好不要使用第三方库,而不是在gridview中为图像编写自己的容器。缓存和加载时间将是大多数人不会想到的问题。看一下这个帖子:
Lazy load of images in ListView
LazyList(具体来说,这篇文章:https://stackoverflow.com/a/8562313/2066079)对你来说可能是一个巨大的帮助,虽然它可能有点过分。
如果您事先知道路径,可以将它们设为drawable,为每个路径创建ImageView
,然后将它们放入GridLayout
。我选择GridLayout
超过GridView
的原因是为了与旧设备兼容。
为了让图片填满网格容器,我发现这篇文章:非常有用:GridLayout (not GridView) how to stretch all children evenly 但就像我说的那样 - 如果图像很大,或者只有少数几个图像存在,缓存和加载时间就会成为问题。
答案 1 :(得分:0)
请参阅这些示例以获取帮助
http://www.androidhive.info/2012/02/android-gridview-layout-tutorial/
http://androidprogramz.blogspot.in/2012/07/display-images-in-gridview.html
http://www.tutorialspoint.com/android/android_grid_view.htm
您可以执行此操作来处理图像或仅创建可绘制数组
if (mobile.equals("Windows")) {
imageView.setImageResource(R.drawable.windows_logo);
} else if (mobile.equals("iOS")) {
imageView.setImageResource(R.drawable.ios_logo);
} else if (mobile.equals("Blackberry")) {
imageView.setImageResource(R.drawable.blackberry_logo);
} else {
imageView.setImageResource(R.drawable.android_logo);
}
或强>
ArrayList<Integer> myImageList = new ArrayList<Integer>();
myImageList.add(R.drawable.thingOne);
// later...
myImageView.setImageResouce(myImageList.get(i));
答案 2 :(得分:0)
如果它们只是静态图像,请将它们复制到您的drawable文件夹中,然后您可以使用关于网格视图的Android文档中的确切示例:
http://developer.android.com/guide/topics/ui/layout/gridview.html