1cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes/* 2cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * Copyright (C) 2016 The Android Open Source Project 3cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * 4cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * Licensed under the Apache License, Version 2.0 (the "License"); 5cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * you may not use this file except in compliance with the License. 6cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * You may obtain a copy of the License at 7cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * 8cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * http://www.apache.org/licenses/LICENSE-2.0 9cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * 10cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * Unless required by applicable law or agreed to in writing, software 11cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * distributed under the License is distributed on an "AS IS" BASIS, 12cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * See the License for the specific language governing permissions and 14cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * limitations under the License. 15cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes */ 16cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes 17cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banespackage android.support.v4.widget; 18cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes 19cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banesimport android.os.Build; 20cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banesimport android.support.annotation.NonNull; 21cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banesimport android.widget.ListView; 22cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes 23cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes/** 24cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * Helper for accessing features in {@link ListView} introduced after API level 25cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * 4 in a backwards compatible fashion. 26cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes */ 27cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banespublic final class ListViewCompat { 28cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes 29cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes /** 30cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * Scrolls the list items within the view by a specified number of pixels. 31cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * 32cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * @param listView the list to scroll 33cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * @param y the amount of pixels to scroll by vertically 34cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes */ 35cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes public static void scrollListBy(@NonNull ListView listView, int y) { 36cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes if (Build.VERSION.SDK_INT >= 19) { 37cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes ListViewCompatKitKat.scrollListBy(listView, y); 38cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes } else { 3964dbe1d454f1190b3cd8426d09b9119949a10709Kirill Grouchnikov ListViewCompatGingerbread.scrollListBy(listView, y); 40cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes } 41cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes } 42cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes 43cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes private ListViewCompat() {} 44cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes} 45