Android添加菜单选项

来源:互联网 发布:手机淘宝怎么修改分类 编辑:程序博客网 时间:2024/05/18 03:21

实现在Android软件中增加菜单选项功能,方便将一些设置隐藏起来,达到一次设置、多次使用、修改方便的目的。

在需要添加菜单选项的Activity中添加如下代码:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.setting) {
            Intent intent = new Intent(MainActivity.this, SetConf.class);
            startActivity(intent);
        }
        return true;
    }

在“res”下面新建文件夹“menu”,在menu文件夹下新建文件“main.xml”,比如添加的菜单选项为“设置”,代码如下:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="包名.MainActivity" >


    <item
        android:id="@+id/setting"
        android:title="设置" />  


</menu>

新建一个类SetConf.java对应“设置”选项点击后的逻辑:

public class SetConf extends Activity {
private EditText EditServerIP;
private Button BtnSet;
private Button BtnReset;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.setting);
EditServerIP = (EditText) findViewById(R.id.iptext);
BtnSet = (Button) findViewById(R.id.btn_set);
BtnSet.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String ip = EditServerIP.getText().toString();
if (ip.equals("")) {
Toast.makeText(SetConf.this, "请输入参数", Toast.LENGTH_SHORT).show();
} else {
SharedPreferences.Editor editor = getSharedPreferences("setting", MODE_PRIVATE).edit();
editor.putString("serverip", ip);
editor.commit();
Toast.makeText(SetConf.this, "设置成功,请重启程序!", Toast.LENGTH_SHORT).show();
}
}
});
BtnReset = (Button) findViewById(R.id.btn_reset);
BtnReset.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
EditServerIP.setText("");
}
});
}


@Override
protected void onDestroy() {
super.onDestroy();
}
}

新建一个布局文件setting.xml对应“设置”选项点击后的界面,如添加一个TextView,一个EditText和两个Button:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >"
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="服务器IP:" />
        <EditText
            android:id="@+id/iptext"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <Button
            android:id="@+id/btn_set"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
             android:layout_weight="1"
            android:text="设置" />
        <Button
            android:id="@+id/btn_reset"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
             android:layout_weight="1"
            android:text="重置" />
    </LinearLayout>


</LinearLayout>

点击菜单中的“设置“选项后的结果:


0 0