我正在尝试修改我的应用程序以在用户滚动时隐藏我的ActionBar。目前,我们并不关心在棒棒糖前设备上支持此功能,但代码主要集中在预棒棒糖上,并且已根据需要进行了缓慢修改以适应API 21+。
我正在使用setHideOnContentScrollEnabled(true)来尝试隐藏滚动,然后设置hideoffset,但我所做的一切似乎都无法正常工作。我的片段进入下面显示的主要基础活动布局中的RecyclerView。
我还有一个ModuleActivity,它扩展了MainActivity并导入了android.app.ActionBar。我想知道这个问题是否可能与支持库有关,但我想如果情况确实如此。
MainActivity
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources.NotFoundException;
import android.graphics.PorterDuff.Mode;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.text.TextUtils;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewTreeObserver;
import android.view.Window;
import android.view.inputmethod.InputMethodManager;
public abstract class MainActivity extends FragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
.
.
.
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
}
if (getContentResourceID() != 0) {
setContentView(getContentResourceID());
}
@Override
public void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
mProgressIndicator = (SimpleAssetImageView) findViewById(R.id.progressIndicator);
if (getActionBar() == null) {
return;
}
getActionBar().setDisplayHomeAsUpEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getActionBar().setHideOnContentScrollEnabled(true);
getActionBar().setHideOffset(1);
}
}
ModuleActivity.java
...
import android.app.ActionBar;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.StateListDrawable;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.widget.DrawerLayout;
...
public abstract class ModuleActivity extends MainActivity {
.
.
.
}
mainactivity_baselayout.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<include layout="@layout/default_drawer_menu_view"/>
</android.support.v4.widget.DrawerLayout>
的build.gradle
dependencies {
compile "com.android.support:support-v4:22.0.0"
compile "com.facebook.android:facebook-android-sdk:3.19.0"
compile "com.android.support:cardview-v7:22.0.0"
compile "com.android.support:recyclerview-v7:22.0.0"
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.google.android.gms:play-services-maps:6.5.87'
compile 'com.google.android.gms:play-services-location:6.5.87'
compile 'com.google.android.gms:play-services-base:6.5.87'loader:1.9.4'
}
答案 0 :(得分:0)
我认为如果您在RecyclerView的XML文件中设置nestedScrollingEnabled为true,则代码将正常工作。