我已經做了服務器目錄瀏覽應用程序,它會改變Activity
本身的內容。我已經新增了一項功能:Navigation Drawer
並在Toolbar
處理漢堡和回圖標如下:漢堡箭頭動畫不能正常工作程序
- 主目錄:
- 漢堡圖標爲默認狀態。
- 會上點擊漢堡包或在滑動操作的導航抽屜滑動。
- 否當抽屜滑動時漢堡包的狀態變化或動畫。
- 漢堡包的動畫當選擇一個目錄來返回圖標。
- 任何子目錄:
- 從以前的動畫,其唯一目的就是去父目錄後退按鈕。
- 以滑動手勢滑動導航抽屜。
- 否的狀態變化或動畫背景圖標當使用手勢滑動抽屜或當它進入此目錄的另一個子目錄時。
- 後退箭頭的動畫圖標漢堡包時使用它後面的圖標或
onBackPressed
回來的主目錄。
我能夠得到漢堡的動畫使用this answer(代碼是逐字採用的是如下)來備份圖標,但沒能回來到主目錄時,再次拿到漢堡圖標(不包括該代碼,並去了另一種方法是下一部分):瀏覽來來回回從家裏和孩子目錄時
ValueAnimator anim = ValueAnimator.ofFloat(0f, 1f);
anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
float slideOffset = (Float) valueAnimator.getAnimatedValue();
mDrawerToggle.onDrawerSlide(drawerLayout, slideOffset);
}
});
anim.setInterpolator(new DecelerateInterpolator());
// You can change this duration to more closely match that of the default animation.
anim.setDuration(500);
anim.start();
對於漢堡包和後退圖標之間適當的切換,我已經使用this answer(代碼如下)作爲參考逐字,並能夠成功地實現它的家庭和孩子目錄1,2和3功能。
private void enableViews(boolean enable) {
if(enable) {
mDrawerToggle.setDrawerIndicatorEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true); // comment this line of code
if(!mToolBarNavigationListenerIsRegistered) {
mDrawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Doesn't have to be onBackPressed
onBackPressed();
}
});
mToolBarNavigationListenerIsRegistered = true;
}
}
else {
// Remove back button
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setHomeButtonEnabled(false); // comment this line of code
// Show hamburger
mDrawerToggle.setDrawerIndicatorEnabled(true);
// Remove the/any drawer toggle listener
mDrawerToggle.setToolbarNavigationClickListener(null);
mToolBarNavigationListenerIsRegistered = false;
}
}
來到眼前的問題是:在瀏覽目錄時,切換來來回回從漢堡到返回圖標,動畫部分是不工作的。但是這兩個圖標的狀態都會隨着它們的功能而成功更改。如果您需要更多信息進行故障排除,請告知我們。
你是否開始一個新的活動來顯示子目錄,或者它是與一個新的片段相同的活動? – Dibzmania
@Dibzmania同樣的活動。我只是更新GridView(用Image + Text定製的),我沒有在這個項目中使用任何類型的片段。我只是將互聯網上的文件和有用的文檔放在一起,並在理解解決方案並將其更新爲我的要求後開始工作。不過,我剛剛解決了這個問題,並且我已經更新了未來參考文獻的答案。 –