ActionBar – PullToRefresh
Estoy desarrollando una aplicación donde puedes ver Horarios de BusStop. Y los usuarios pueden actualizar con el ActionBar PullToRefresh (Library). Mi aplicación también tiene barra de estado translúcida en KitKat habilitado.
Ahora, la superposición de ActionBar, que normalmente debe superponerse a la barra de acción, ahora se desplaza hacia arriba.
- Agregar el botón favorito en la vista de lista
- Android: lista vacía en la vista Lista personalizada
- Cómo hacer que los elementos de la lista obtengan DragEvents después de desplazarse
- ListView ya no reacciona a onclick después de una llamada a setSelection ()
- Cómo cambiar el cambio en el cambio de comportamiento del layout del elemento de lista entre sdk 17 y 18?
¿Cómo puedo resolver eso?
¡Atentamente!
- Android ListView arrastrar y soltar para nido de abeja y ICS "Error: informe caída resultado: false"
- Cómo mostrar la barra de progreso (círculo) en una actividad que tiene un listview antes de cargar el listview con datos
- android: listview: consigue el valor del cursor en el elemento click
- Actividad refrescante al recibir la notificación de gcm push
- Cómo obtener todos los niños (visible e invisible) de un ListView?
- ¿Es posible establecer listView maxHeight en xml?
- Android SwipeRefreshLayout con TextView vacío no funciona correctamente
- NullPointerException en onLoaderFinished usando SimpleCursorAdapter
Lo que hice es crear un diseño de encabezado personalizado para el diseño pull-to-refresh. Acabo de copiar el original, agregó la altura de la barra de estado que es generalmente 25dp y agregó un relleno superior 25dp.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="73dp" android:paddingTop="25dp" > <FrameLayout android:id="@id/ptr_content" android:layout_width="match_parent" android:layout_height="73dp" > <TextView android:id="@id/ptr_text" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:textAppearance="?android:attr/textAppearanceMedium" /> </FrameLayout> <fr.castorflex.android.smoothprogressbar.SmoothProgressBar android:id="@id/ptr_progress" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="@dimen/ptr_progress_bar_stroke_width" /> </RelativeLayout>
Ahora configure el diseño cuando configure el pull para actualizar el diseño:
ActionBarPullToRefresh.from(getActivity()).listener(new OnRefreshListener() { @Override public void onRefreshStarted(View view) { refresh(); } }).headerLayout(R.layout.header).build()).setup(ptrLayout);
prueba esto.
Res / layout / activity_main.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.swipetorefresh.MainActivity" tools:ignore="MergeRootFrame" />
Res / layout / fragment_main.xml
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:ignore="MergeRootFrame" > <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v4.widget.SwipeRefreshLayout>
MainActivity.java
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (savedInstanceState == null) { getFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment()).commit(); } } public static class PlaceholderFragment extends ListFragment implements OnRefreshListener { private SwipeRefreshLayout mSwipeRefreshLayout; private static final int LIST_ITEM_COUNT = 5; private int mOffset = 0; private ArrayAdapter<String> mListAdapter; public PlaceholderFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_main, container, false); // Configure the swipe refresh layout mSwipeRefreshLayout = (SwipeRefreshLayout) rootView.findViewById(R.id.container); mSwipeRefreshLayout.setOnRefreshListener(this); mSwipeRefreshLayout.setColorScheme( R.color.swipe_color_1, R.color.swipe_color_2, R.color.swipe_color_3, R.color.swipe_color_4); // Put the first batch of countries in the list mListAdapter = new ArrayAdapter<String>( getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, getCountries(mOffset)); setListAdapter(mListAdapter); return rootView; } private List<String> getCountries(int offset) { ArrayList<String> countriesList = new ArrayList<String>(); for(int i=0; i<LIST_ITEM_COUNT;i++){ countriesList.add(COUNTRIES[offset+i]); } mOffset = offset + LIST_ITEM_COUNT; return countriesList; } @Override public void onRefresh() { // Start showing the refresh animation mSwipeRefreshLayout.setRefreshing(true); // Simulate a long running activity new Handler().postDelayed(new Runnable() { @Override public void run() { updateCountries(); } }, 5000); } private void updateCountries() { // Add the next batch of countries to the list mListAdapter.addAll(getCountries(mOffset)); // Signify that we are done refreshing mSwipeRefreshLayout.setRefreshing(false); } private static final String[] COUNTRIES = {"Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Brazil", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Democratic Republic of the Congo (Kinshasa)", "Congo, Republic of(Brazzaville)", "Cook Islands", "Costa Rica", "Ivory Coast", "Croatia", "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "East Timor (Timor-Leste)", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia"}; } }
- No es posible zipalign apk android android studio 2.2
- Eliminar los análisis de firebase de la aplicación android por completo