标签: android-gridview

网格视图图像边框

我正在使用 gridview 使用 xml 解析显示来自 xml 的图像组,现在我想在 gridview 中显示每个图像周围的边框。所有图像都应在 gridview 中的图像上显示轮廓边框。如何为 gridview 中的每个图像设置边框?

android android-gridview

5
推荐指数
1
解决办法
6478
查看次数

永远不会调用GridView onItemClickListener

我有一个GridView自定义View,它是一个Button和一个TextView.我定义了setOnItemClickListener它,但看起来它从未被调用,请参阅下面的代码和平.

gridview = (GridView) findViewById(R.id.main_gridview);
gridview.setAdapter(new GridAdapter(this));

gridview.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, 
            int position, long id) {
        Toast.makeText(getApplicationContext(), "gadsfadsf", 
            Toast.LENGTH_SHORT).show();
        Log.d("Main", "onItemClick");
    }
});
Run Code Online (Sandbox Code Playgroud)

java android android-gridview

5
推荐指数
2
解决办法
6568
查看次数

Android gridview图像缓存,在更换之前重复滚动图像

我有GridView的图像视图,从图库的图像缩略图加载.我从一个用图像id和imageview调用方法的类中加载这些缩略图,该方法会将位图设置为通过imageview.这里它工作得很完美,但是当我们抛出网格视图时让线程暂停.

我的问题是它在滚动时暂停,但是当从上到下滚动时,图像在gridview中重复出现.我无法弄清楚确切的问题.帮帮我.谢谢!

我在这里设置暂停:

imagegrid.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView absListView, int scrollState) {
                // Pause fetcher to ensure smoother scrolling when flinging
                if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING) {
                    bitmapFromId.setPauseWork(true);
                } else {
                    bitmapFromId.setPauseWork(false);
                }
            }

            @Override
            public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            }
        });
Run Code Online (Sandbox Code Playgroud)

这是我在grdiview适配器中获取的视图:

public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder;
            if (convertView == null) {
                holder = new ViewHolder();
                convertView = mInflater.inflate(R.layout.galleryitem, null);
                holder.imageview = (ImageView) convertView.findViewById(R.id.thumbImage);
                holder.checkbox = …
Run Code Online (Sandbox Code Playgroud)

performance android android-adapter android-imageview android-gridview

5
推荐指数
1
解决办法
3284
查看次数

如何在android gridview单元格中设置colspan

我如何使用一些跨越列的单元格的GridView?我有几组需要动态加载的数据(所以网格布局不是我需要的),并在GridView上以不同的方式直观呈现.下面是我能够实现的图形表示,'x'显示显示某些内容的单元格,而空单元格没有显示任何内容

不需要http://oi50.tinypic.com/25pq13p.jpg

有了我在这里,当我想在一行中显示4个项目时,中心有一个丑陋的单元格.

我想要的是能够让一行均匀显示5个项目,而另一行可以显示4个项目等等.下图显示了我想要实现的目标

想要http://oi48.tinypic.com/eb1or5.jpg

我想使用Gridview,因为填充网格的数据是动态提供的.所以我可以使用gridview的适配器.如果除了gridview之外还有另一种方法,那么我愿意接受建议.

android gridview android-gridview

5
推荐指数
1
解决办法
2064
查看次数

实现一些功能,比如在 Instagram android 应用程序中

我喜欢 Instagram for Android 应用程序上的两件事,我想在我的应用程序中实现它们。

1.碎片历史无限回溯

如果你点击一个用户,你可以看到他的详细信息,点击关注者将返回一个关注者列表,点击另一个用户将显示他的详细信息......等等。基本上,您可以多次执行此操作,但是当您返回时,一切都是即时的,无需加载。如何实施?我最初的想法是只有一个带有顶部操作栏的活动,其余使用片段(一个片段用于用户详细信息,一个片段用于用户列表)等等。问题是我想不出一个好办法让历史回到过去。我能看到的唯一方法是缓存所有数据(用户数据/列表适配器)是一个 ArrayList,因此当用户按回时,从列表中取出最后一项并实例化片段。有没有更好的方法呢?一世' 我想我可以为每个用户交互开始一个新的活动,当用户按下时,只需完成当前的活动。在这种情况下,我唯一担心的是内存不足。有没有办法用它们的状态缓存片段?

2.GridView里面的ScrollView

关于用户详细信息,有两种主要布局:包含用户详细信息的布局和图像的网格视图。当用户滚动时,在滚动结束时,gridview 获得一组新的项目(滚动时加载)。虽然我知道如何在为 gridview 滚动时实现加载,但我不知道如何在滚动视图中添加 gridview 并继续监听滚动事件

在此处输入图片说明

android android-gridview android-fragments android-fragmentactivity

5
推荐指数
1
解决办法
1498
查看次数

Google Play音乐风格GridView

我期待创造一个音乐应用程序,我想做出GridView类似于谷歌Play使用他们注入,将跨越像撒旦之作乐团专辑的行和列的元素确实在这个截图:

Google Play音乐

我想过使用ListView和填充用自定义元素行,但我想不出使用与ViewHolder模式,或者一个真正的方法,使这种可重复使用和账户基础上的宽度不同的项目数的好方法屏幕尺寸(例如,格宽只有两个项目上的电话,和"大"的项目跨越两列,只有一行).

我也考虑使用ScrollView填充自定义ViewGroups,但这似乎遇到了我之前提到的相同问题.

我接下来考虑使用GridLayout,但是这不接受ListAdapters,并且似乎没有调整到我正在看的那种用法(它似乎也没有滚动)

如果有人能给我某个地方开始,我会非常感激,或者可以指向我这样做的图书馆.我已经检查过StaggeredGridView,但它似乎没有完成我想要的.我理想的解决方案是一个视图,它在偶数网格上布置项目,GridView并接受来自a的视图ListAdapter,也可以GridView,但允许元素跨越,使用单个单元格约束GridView作为默认行为.

干杯.

编辑

我有一个完美的功能GridView,如下所示,但我想定期(每n一项)制作项目跨越多个列和/或行,如上一个屏幕截图所示.

工作GridView

user-interface android android-layout android-gridview

5
推荐指数
1
解决办法
2400
查看次数

StickyGridHeader中的弹出窗口显示错误的位置

我使用StickyGridHeaders库来创建像snapfish一样的Gridview .这是我的预期布局:

在此输入图像描述

触摸标题视图(红色箭头)上的按钮而不是复选框时,我会显示一个弹出窗口.问题是我的弹出窗口总是显示错误的位置.从调试窗口,我可以看到它与粘性标题具有相同的位置,但我通过使用关闭了gridview的粘性标题StickyGridHeadersGridView.setAreHeadersSticky(false);

这是我的适配器头:

    public View getHeaderView(final int position, View convertView, ViewGroup parent) {
            final HeaderViewHolder viewHolder;
            if(convertView == null){
                convertView = inflater.inflate(R.layout.item_header_gallery, null);
                viewHolder = new HeaderViewHolder();
                viewHolder.tvImagePrice = (TextView) convertView.findViewById(R.id.tvImagePrice);
                viewHolder.btnTouch = (Button) convertView.findViewById(R.id.btnTouch);
                convertView.setTag(viewHolder);
            }else{
                viewHolder = (HeaderViewHolder) convertView.getTag();       
            }

            ImageGroup item = headers.get(position);    
            viewHolder.tvImagePrice.setText(item.getPriceString());

            viewHolder.btnTouch.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    int[] location      = new int[2];

                    viewHolder.btnTouch.getLocationOnScreen(location);
                    // location always is [905,59] for every header …
Run Code Online (Sandbox Code Playgroud)

android android-gridview

5
推荐指数
1
解决办法
622
查看次数

RecyclerView - 水平,两行网格,第二行偏移

我正在尝试制作一个水平滚动网格.它有两行.第二行是偏移的(一个项目的宽度的一半,但这是微不足道的计算,这里无关紧要).

我目前使用RecyclerView和GridLayoutManager从https://github.com/antoniolg/RecyclerViewExtensions/tree/master/library/src/main/java/com/antonioleiva/recyclerviewextensions

然而,抵消证明是非常困难的.

它应该看起来像 1

有没有人建议让第二行如上图所示错开?

android android-gridview android-recyclerview

5
推荐指数
1
解决办法
6527
查看次数

如何获得动态网格视图android?

我的活动:

  package com.app.redbuslayout;

import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject;



import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.ViewGroup.LayoutParams;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.RelativeLayout;
import android.widget.Toast;

public class MainActivity extends Activity {
    GridView grid;
    RelativeLayout r1;
    String maxrows;
    int maxcol;
    int[] imageId = {
              R.drawable.seat,
              R.drawable.seat,
              R.drawable.seat,
              R.drawable.seat,
              R.drawable.seat,
              R.drawable.seat,
              R.drawable.seat,
              R.drawable.seat ,R.drawable.seat, …
Run Code Online (Sandbox Code Playgroud)

android android-gridview

5
推荐指数
1
解决办法
3966
查看次数

GridView用于日历视图

我的旧应用程序的部分内容已弃用,我正在尝试重建它.基本上它是一个带月视图的日历.这是我的gridview适配器的一部分:

public View getView(int position, View view, ViewGroup parent) {
    Date date = getItem(position);
    int day = date.getDate();
    int month = date.getMonth();
    int year = date.getYear();
}
Run Code Online (Sandbox Code Playgroud)

并且int day = date.getDate(); int month = date.getMonth(); int year = date.getYear(); 已弃用.我正在尝试使用Calendar该类而不是Date无法做同样的事情.我知道,为了检索日,月或年,我可以使用这个:

Calendar calendar = Calendar.getInstance();
calendar.get(Calendar.DAY_OF_MONTH); 
Run Code Online (Sandbox Code Playgroud)

但我不知道如何转换这一行:

Date date = getItem(position);
Run Code Online (Sandbox Code Playgroud)

用于Calendar.

java android android-gridview calendarview

5
推荐指数
1
解决办法
407
查看次数