如何使工具栏保持相同的Android

时间:2016-03-28 16:54:00

标签: android android-layout android-activity android-toolbar

我在我的Android应用程序中使用工具栏,布局看起来相当不错(见下文): enter image description here

但是,并不总是这样。有时当我加载页面时,它就像这样,或者当我使用下拉过滤器或搜索过滤器时,它看起来像这样: enter image description here

如果用户没有使用过滤器,我基本上希望它返回到第一个。此外,我希望在打开页面时显示第一个工具栏,因为有时它会显示没有标题的工具栏

这是我的代码:

public class VideoGUI extends AppCompatActivity{
    TabLayout tabLayout;
    ViewPager viewPager;
    Context context;
    Toolbar toolbar;

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_main, menu);

        SearchManager searchManager =
                (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        SearchView searchView =
                (SearchView) menu.findItem(R.id.search).getActionView();
        searchView.setSearchableInfo(
                searchManager.getSearchableInfo(getComponentName()));
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {

                }
                return true;
            }
        });

        MenuItem item = menu.findItem(R.id.spinner);
        Spinner spinner = (Spinner) MenuItemCompat.getActionView(item);
        ArrayList<String> items = new ArrayList<>();
        items.add("Comedy");
        items.add("Documentary");
        ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(getContext(), R.layout.support_simple_spinner_dropdown_item, currentPodcastTab.getList());
        spinner.setAdapter(spinnerAdapter);
    }
}

2 个答案:

答案 0 :(得分:1)

getSupportActionBar().setTitle("your title");

这是以编程方式设置标题的常用方法。

否则你可以像这样在你的清单中设置。

<activity
        android:name=".YourActivity"
        android:label="@string/your_title" />

答案 1 :(得分:0)

在method.call中为你的工具栏和逻辑编写一个方法,重新加载页面。

你可以尝试。