Articles of android gridview

更改GridView的行为以使其水平滚动而不是垂直滚动

我想创建一个像GridView一样的UI元素,我希望它具有完整的function,但希望它可以水平滚动而不是垂直滚动。 通过水平滚动我的意思是它应该以这种方式构建而不是放在HorizontalScrollView 。 我的Custom GridView将具有固定的rows数,例如4-5 ,并且columns应该是基于Adapter的项目数量可extensible的。 您可以将其视为与原生GridView相反的function,但它应该保持function。 我已经查看了Google如何实现GridView的源代码,但我能够理解得非常少,并且从头开始制作View似乎不是一个好主意,因为我担心我不会能够像谷歌那样对记忆优化做出正确的判断。 我观察到GridView扩展了AbsListView ,所以我的问题是,它是AbsListView ,它允许GridView垂直滚动并从适配器添加项目,还是GridView增加了垂直滚动function? 我应该调整GridView或AbsListView吗? 知道是否已经做了我想做的事情会更好吗? 这已在Android Honeycomb 3.1及更高版本的原生图库和YouTube应用中实施。 所以,如果有人有想法,请详细说明。 Honeycomb Gallery应用程序的快照: Honeycomb YouTube应用程序的快照:

在GridView或ListView的底部添加额外的空间

是否可以在GridView的底部添加额外的空间(有点像空行)? 我想这样,当你向下滚动到GridView的底部时,会有额外的50dp的空白空间。 我尝试将paddingBottom设置为50dp,但它似乎没有改变任何东西。

使用Push Notification IntentService中的GoogleApiClient将数据发送到Android Wear

这是一个跟进的问题… Android Wear捆绑的通知和背景图像 我想创建一个Android Wear GridViewPager布局,当新的推送通知进入时,它会被创建。 下面是我的代码,当新消息进入时初始化GoogleApiClient连接,然后我可以将数据发送到Wear应用程序,然后创建GridView寻呼机。 我的问题是GoogleApiClient永远不会得到连接。 我已成功运行sdk文件夹中的SynchonizedNotifications示例应用程序,因此我知道我的设备和手表已正确配对。 以下是当前代码…… public class GCMIntentService extends IntentService implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener{ @Override protected void onHandleIntent(Context context, Intent intent) { mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Wearable.API) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .build(); ConnectionResult connectionResult = mGoogleApiClient.blockingConnect(30, TimeUnit.SECONDS); // Extract the payload from the message Bundle extras = intent.getExtras(); if (this.mGoogleApiClient.isConnected()) { // sending […]

使用imageView时,gridView高度太高

我对GridView中单元格的高度有问题。 我的每个单元格都会有一个imageView,如下所示: 这是每个单元格的ImageView 我正在为我的imageView玩不同的图像大小。 我得到的是,每当我的图像变大(例如,400 x 400px)时,单元格的高度变得非常高(大约是宽度的两倍,请注意我将网格设置为使用2列)。 但是,当我将图像保存为较小的尺寸(例如,160 x 160px)时,gridView正确显示。 高度和宽度匹配。 这是一个截图: 什么似乎是问题? 可能是大图像导致gridView错误地计算其单元格的高度? 我该怎么做才能解决这个问题?

永远不会调用GridView onItemClickListener

我有一个带有自定义View的GridView ,它是一个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”); } });

滚动期间GridView内容消失

我的应用程序中有一个GridView ,我想在其中显示文本和checkbox,就像电子邮件收件箱页面一样。 我使用了一个适配器,但当我显示超过15个元素时,顶行的文本和checkbox消失,所以当我再次向上滚动它们时,它们是不可见的。 这是我的代码 public class EmployeeAdaptor extends BaseAdapter { Context context; String [] table; int pos; int formatOfTable; public EmployeeAdaptor(Context c,String []tab,int numberOfItems,int format, boolean[] sel) { context = c; table = tab; items = numberOfItems; formatOfTable = format; //ifformat is 0 then show text view in first column //if it is 1 then […]

Gridview中的第一项(ImageView)具有字段mAttachInfo的空值

我正在编写一个Android应用程序,使用GridView通过Adapter加载ImageView项目列表。 一切正常,除了GridView加载的第一个项目的mAttachInfovariables的值为null 。 我想这可能是因为第一个项目被选中或聚焦,这导致mAttachInfo设置为null ,其他项目具有正确的mAttachInfo设置。

如何为视图设置animation以隐藏在另一个视图下方,然后从该视图中设置animation

我有两个网格视图,我想为其创建自定义animation。 想象一下这个布局: ___________________________________________ | | | | | TOP Grid | | | | _________________________________________ | | | | | | BOTTOM | | 网格| | | | _________________________________________ | 底部网格将在顶部网格后面“滑出”和“滑动”。 我想我应该使用翻译animation。 如何找出fromX和fromY值? 我以为我可以同时在布局中查看,然后将animation设置为RelativeToParent。 这是正确的方法吗? 如果您知道任何地方我可以find此function的源代码,我将非常感激。 谢谢,

setShadowLayer会导致GridView中的绘制时间变慢?

我目前正在使用包含ImageViews的GridView,并希望我的图像背后有阴影。 例如,在网格中可能有15个图像随时可见。 在假设我希望我的屏幕以50fps渲染以显得平滑的情况下工作,我的数学表明我希望每个ImageView的总绘制时间不会差于大约1.3ms。 我看了看Romain Guy如何在他的Shelves应用程序中做阴影: http : //code.google.com/p/shelves/source/browse/trunk/Shelves/src/org/curiouscreature/android/shelves/util/ ImageUtilities.java 这似乎有道理,所以我创建了以下类: public class ShadowImageView extends ImageView { private static final int SHADOW_RADIUS = 8; private static final int SHADOW_COLOR = 0x99000000; private static final Paint SHADOW_PAINT = new Paint(); static { SHADOW_PAINT.setShadowLayer(SHADOW_RADIUS / 2.0f, 0.0f, 0.0f, SHADOW_COLOR); SHADOW_PAINT.setColor(0xFF000000); SHADOW_PAINT.setStyle(Paint.Style.FILL); } public ShadowImageView(Context context, AttributeSet attrs) { […]

通过重新定位在同一Gridview中拖放项目

我需要在同一个Gridview中创建拖放function。 在将物品放到特定位置后,物品可以自动重新排列。 我努力了 布拉蒂的拖累 thQuinn的拖累下降 mrKlar的拖累下降与分页 但它们都没有完全满足我的要求。 因为我想开发除了拖放之外的重新排序。 我愿意接受任何建议。