ActionBarユーティリティ(リターン機能、サブメニュー、検索機能)
転載は出典を明記してください.http://blog.csdn.net/droyon/article/details/8309880
初めてブログを書くのですが、不都合な点はお許しください.
この間、ApiDemosを勉強して、いくつかの総括を書いて、今みんなと分かち合います.
ケース効果図:
クリックしてソースコードのダウンロードページに入ります
インスタンスソース:
1、MainActivity.java
res/menu/activity_main.xml
私の技術の公衆番号に関心を持って、もっと多くの良質な技術の文章を見てプッシュします
微信は下のQRコードをスキャンすると注目できる.
初めてブログを書くのですが、不都合な点はお許しください.
この間、ApiDemosを勉強して、いくつかの総括を書いて、今みんなと分かち合います.
ケース効果図:
クリックしてソースコードのダウンロードページに入ります
インスタンスソース:
1、MainActivity.java
package com.example.actionbarcommomuse;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.ActionBar.LayoutParams;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.SearchView.OnQueryTextListener;
import android.widget.SearchView;
import android.widget.Switch;
@SuppressLint("NewApi")
public class MainActivity extends Activity implements OnCheckedChangeListener{
private final String TAG = "actionBar";
private Context mContext = null;
public Switch mSwitch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = this;
setupActionBar();
}
public void setupActionBar(){
mSwitch = new Switch(mContext);
mSwitch.setChecked(false);
mSwitch.setPadding(0, 0, 0, 0);
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
ActionBar.DISPLAY_SHOW_CUSTOM);
getActionBar().setCustomView(mSwitch, new ActionBar.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
Gravity.CENTER_VERTICAL|Gravity.RIGHT));
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
MenuItem deleteItem = menu.add(Menu.NONE, 22,0, "delete");
deleteItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
MenuItem searchItem = menu.findItem(R.id.search);
SearchView sv = (SearchView) searchItem.getActionView();
sv.setQueryHint(getString(R.string.hello_world));
sv.setIconifiedByDefault(true);
sv.setOnQueryTextListener(oQueryTextListener);
return true;
}
OnQueryTextListener oQueryTextListener = new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
//action when press button search
Log.d(TAG,"query string is:"+query);
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
};
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mSwitch.setChecked(isChecked);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Log.d(TAG,"onOptionItemSelected title is:"+item.getTitle());
switch(item.getItemId()){
case android.R.id.home:
finish();
break;
case R.id.query:
break;
case R.id.search:
break;
case R.id.share:
break;
default:
break;
}
return true;
}
public void onQuery(MenuItem item){
Log.d(TAG,"select item is:"+item.getTitle());
}
}
res/menu/activity_main.xml
私の技術の公衆番号に関心を持って、もっと多くの良質な技術の文章を見てプッシュします
微信は下のQRコードをスキャンすると注目できる.