X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/2623e9c1957e95166e99adc81481f91136ac4453..bdd46fd811a2045ae862d3d39c7510b0dd50973d:/src/com/owncloud/android/ui/ExtendedListView.java diff --git a/src/com/owncloud/android/ui/ExtendedListView.java b/src/com/owncloud/android/ui/ExtendedListView.java index 5b7fb98a..c28ff1c3 100644 --- a/src/com/owncloud/android/ui/ExtendedListView.java +++ b/src/com/owncloud/android/ui/ExtendedListView.java @@ -3,9 +3,8 @@ * Copyright (C) 2012-2013 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. + * it under the terms of the GNU General Public License version 2, + * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -22,18 +21,18 @@ package com.owncloud.android.ui; import android.content.Context; import android.graphics.Canvas; import android.util.AttributeSet; -import android.widget.ListView; +import android.widget.GridView; /** - * ListView allowing to specify the position of an item that should be centered in the visible area, if possible. + * GridView allowing to specify the position of an item that should be top left in the visible area, if possible. * * The cleanest way I found to overcome the problem due to getHeight() returns 0 until the view is really drawn. * * @author David A. Velasco */ -public class ExtendedListView extends ListView { +public class ExtendedListView extends GridView { - private int mPositionToSetAndCenter; + private int mPositionToSetTopLeft; public ExtendedListView(Context context) { super(context); @@ -46,7 +45,7 @@ public class ExtendedListView extends ListView { public ExtendedListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } - + /** * {@inheritDoc} * @@ -55,20 +54,20 @@ public class ExtendedListView extends ListView { @Override protected void onDraw (Canvas canvas) { super.onDraw(canvas); - if (mPositionToSetAndCenter > 0) { - this.setSelectionFromTop(mPositionToSetAndCenter, getHeight() / 2); - mPositionToSetAndCenter = 0; + if (mPositionToSetTopLeft > 0) { + this.smoothScrollToPosition(mPositionToSetTopLeft); + mPositionToSetTopLeft = 0; } } /** - * Public method to set the position of the item that should be centered in the visible area of the view. + * Public method to set the position of the item that should be top left in the visible area of the view. * * The position is saved here and checked in onDraw(). * - * @param position Position (in the list of items) of the item to center in the visible area. + * @param position Position (in the list of items) of the item to be top left in the visible area. */ - public void setAndCenterSelection(int position) { - mPositionToSetAndCenter = position; + public void setSelectionAsTopLeft(int position) { + mPositionToSetTopLeft = position; } }