工具栏在片段中是半透明的,不会对点击做出响应

时间:2015-12-26 04:58:07

标签: android android-fragments

我已经制作了一个带有导航功能的应用程序。我在主要内容中有一个片段,并在用户想要导航时替换片段。它在SDK级别21之上完美地工作。在21以下,工具栏变为半透明,并且不响应任何抽头来为任何可滚动的新抽出导航抽屉。对于其他片段中的不可滚动视图,它可以完美地工作。我希望工具栏不透明并响应水龙头,但似乎无法找到方法。

我的主要活动的OnCreate:

if (Build.VERSION.SDK_INT == Build.VERSION_CODES.M )

我用来替换片段的方法:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        imageView = (ImageView) findViewById(R.id.nav_drawer_image);

        assert getSupportActionBar() != null;
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle("Home");

        drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

        NavDrawerFragment navDrawerFragment = (NavDrawerFragment) getFragmentManager()
                .findFragmentById(R.id.nav_drawer_fragment);
        navDrawerFragment.setup(R.id.nav_drawer_fragment, (DrawerLayout) findViewById(R.id.drawer_layout), toolbar);

        recyclerView = (RecyclerView) findViewById(R.id.nav_drawer_recycler_view);
        Adapter adapter = new Adapter(this, getData());
        adapter.setClickListener(this);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        recyclerView.setAdapter(adapter);

        FragmentManager fragmentManager = getFragmentManager();
        fragmentManager.beginTransaction().add(R.id.frame_for_fragments, new HomeFragment()).commit();
        if(scheduleReturnFlag) {
            toolbar.setTitle("Schedule");
            getFragmentManager().beginTransaction()
                    .replace(R.id.frame_for_fragments, new ScheduleFragment()).commit();
            selected_item_number = 4;
        }
    }

我的ScrollableFragment:

    @Override
    public void onItemClick(View view, int position) {
        switch (position) {
            case 0:
                if (selected_item_number == 0)
                    break;
                toolbar.setTitle("Home");
                getFragmentManager().beginTransaction()
                        .replace(R.id.frame_for_fragments, new HomeFragment()).commit();
                selected_item_number = 0;
                break;
            case 1:
                if (selected_item_number == 1)
                    break;
                toolbar.setTitle("Attractions");
                getFragmentManager().beginTransaction()
                        .replace(R.id.frame_for_fragments, new AttractionsFragment()).commit();
                selected_item_number = 1;
                break;
            case 2:
                if (selected_item_number == 2)
                    break;
                toolbar.setTitle("IDPT");
                getFragmentManager().beginTransaction()
                        .replace(R.id.frame_for_fragments, new IDPTFragment()).commit();
                selected_item_number = 2;
                break;
            case 3:
                if (selected_item_number == 4)
                    break;
                toolbar.setTitle("Schedule");
                getFragmentManager().beginTransaction()
                        .replace(R.id.frame_for_fragments, new ScheduleFragment()).commit();
                selected_item_number = 4;
                break;
            case 4:
                if (selected_item_number == 5)
                    break;
                toolbar.setTitle("Gallery");
                getFragmentManager().beginTransaction()
                        .replace(R.id.frame_for_fragments, new GalleryFragment()).commit();
                selected_item_number = 5;
                break;
            case 5:
                if (selected_item_number == 6)
                    break;
                toolbar.setTitle("The Team");
                getFragmentManager().beginTransaction()
                        .replace(R.id.frame_for_fragments, new TeamFragment()).commit();
                selected_item_number = 6;
                break;
            case 6:
                if (selected_item_number == 7)
                    break;
                toolbar.setTitle("About");
                getFragmentManager().beginTransaction()
                        .replace(R.id.frame_for_fragments, new AboutFragment()).commit();
                selected_item_number = 7;
                break;
            case 7:
                if (selected_item_number == 8)
                    break;
                toolbar.setTitle("Sponsors");
                getFragmentManager().beginTransaction()
                        .replace(R.id.frame_for_fragments, new SponsorsFragment()).commit();
                selected_item_number = 8;
                break;
            case 8:
                if (selected_item_number == 9)
                    break;
                toolbar.setTitle("Contact Us");
                getFragmentManager().beginTransaction()
                        .replace(R.id.frame_for_fragments, new ContactDetailsFragment()).commit();
                selected_item_number = 9;
                break;
        }
        drawerLayout.closeDrawers();
    }

ScrollableFragment:

package in.djtrinity.www.trinity;


import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


/**
 * A simple {@link Fragment} subclass.
 */
public class TeamFragment extends Fragment {


    public TeamFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_team, container, false);
    }


}

0 个答案:

没有答案
相关问题