Moja aplikacja ma ListView i chcę ukryć actionbar kiedy przewijać i pokazania actionbar kiedy przewijać up.The problemem nie jest ukrywanie/odkrywanie działań pasek, ale migotanie, które dzieje się z tego powodu.Usuń migotanie na actionbar ukrywanie/odkrywanie
google dużo i rzecz szafa do rozwiązania znalazłem to: StackOverflow Question
Zgodnie z rozwiązaniem danej: muszę dodać paddingTop
z ListView wysokości równej actionbar na wysokość, następnie dodaj nagłówek.
Ustawiłem więc dopełnienie u góry listy z wysokości "?android:attr/actionBarSize"
, ale utknąłem w tym, co robić dalej. Jaka będzie zawartość pliku header.xml.
Mój kod: -
MyAdapter ma = new MyAdapter();
ListView lv = (ListView)findViewById(R.id.listView);
lv.setAdapter(ma);
ma.notifyDataSetChanged();
//setting onScrollListener on the listview
lv.setOnScrollListener(new OnScrollListener(){
private int mLast;
@Override
public void onScrollStateChanged(AbsListView view,
int scrollState) {
// TODO Auto-generated method stub
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
if(mLast<firstVisibleItem)
{
if(myactionbar.isShowing())
{
myactionbar.hide();
}
}
if(mLast>firstVisibleItem)
{
if(!myactionbar.isShowing())
{
myactionbar.show();
}
}
mLast=firstVisibleItem;
}
});
listview.xml: -
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:paddingTop="?android:attr/actionBarSize"
/>
onCreate(): -
requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
Wszystko to jest robienie jest dodawanie stałego wypełnienia na szczycie listy, więc w jaki sposób dodanie nagłówka rozwiąże mój problem z migotaniem.
Czy jest jakiś inny sposób rozwiązania tego problemu?
Dzięki.
dlaczego nie można użyć 'android.support. v7.widget.Toolbar'? – pskink
Przepraszam, nie wiedziałem o tym. Jak mogę używać tego migotania? – Mohit
nie miga za pomocą paska narzędzi – pskink