扣丁学堂——ActionBar

一丶代码见本文(觉得本节代码实用性不高,只作对ActionBar的一个了解)

二丶课程讲解

扣丁学堂——ActionBar_第1张图片

扣丁学堂——ActionBar_第2张图片

注意使用V7包:

android.support.v7.app.ActionBar actionBar = getSupportActionBar();

        actionBar.hide();



扣丁学堂——ActionBar_第3张图片

扣丁学堂——ActionBar_第4张图片

//导航:
//主activity,也就是主
//actionBarActivity已过时,使用AppCompatActivity

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        android.support.v7.app.ActionBar actionBar = getSupportActionBar();

        actionBar.setHomeButtonEnabled(true);//图标启动

    }
  public void startActivity(View v){
        startActivity(new Intent(this, Main2Activity.class));
    }
}

//另一个activity
public class Main2Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        ActionBar supportActionBar = getSupportActionBar();

        supportActionBar.setDisplayHomeAsUpEnabled(true);//向上导航
    }

//清单文件:
      <activity
            android:name=".Main2Activity"
            android:label="@string/title_activity_main2"
            android:parentActivityName=".MainActivity" >//指定上一层导航
            //兼容低版本
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainActivity" />
        </activity>
-----------------------------

//菜单文件:
 <item
        android:id="@+id/serch"
        android:icon="@android:drawable/ic_menu_search"
        android:orderInCategory="300"
        android:title="search"
        app:actionViewClass="android.support.v7.widget.SearchView"

        app:showAsAction="ifRoom|collapseActionView" />

    <item
        android:id="@+id/share"
        android:icon="@android:drawable/ic_menu_share"
        android:orderInCategory="400"
        app:showAsAction="ifRoom"
        android:title="share"
//使用app,而不是android,        app:actionProviderClass="android.support.v7.widget.ShareActionProvider" />
----------------------

//activity类:
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        //获取搜索菜单项
        MenuItem item = menu.findItem(R.id.serch);
        //转化为搜索视图组件
        SearchView searchView = (SearchView) item.getActionView();

        //注册事件,获取输入的值
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {

                Toast.makeText(getApplicationContext(), query, Toast.LENGTH_LONG).show();

                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                return false;
            }
        });
=================================================

        //分享菜单项
        MenuItem shareItem = menu.findItem(R.id.share);
        //通过这个菜单得到分享组件提供者
        ShareActionProvider mShareActionProvider = (ShareActionProvider)
                MenuItemCompat.getActionProvider(shareItem);

        //分享的事件
                mShareActionProvider.setShareIntent(getDefaultIntent());

       return true;

    }
//启动所有可以分享的程序
    private Intent getDefaultIntent() {
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("image/*");
        return intent;
    }


//选项卡:
//activity类:
public class MainActivity extends AppCompatActivity implements ActionBar.TabListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ActionBar actionBar = getSupportActionBar();

        //更改标题栏模式
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        //标题不显示
        actionBar.setDisplayShowTitleEnabled(false);

        //添加选项卡:
        actionBar.addTab(actionBar.newTab().setText("新闻").setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText("视屏").setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText("音乐").setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText("游戏").setTabListener(this));

    }
    @Override
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
        Toast.makeText(this,tab.getText(),Toast.LENGTH_SHORT).show();

    }

    @Override
    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {

    }

    @Override
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {

    }
}
敲代码是很多方法淘汰,暂不会其他方法,所以本节只做了解


你可能感兴趣的:(扣丁学堂——ActionBar)