Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建新的按钮Android_Java_Android_Eclipse - Fatal编程技术网

Java 创建新的按钮Android

Java 创建新的按钮Android,java,android,eclipse,Java,Android,Eclipse,我正在尝试在ActionBar中的3点按钮旁边创建一个新按钮(仅图标)。这是我尝试过的代码,但它将其添加为3点按钮的子项 main\u activity\u actions.xml: <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/create_game" android:menuCategory="con

我正在尝试在ActionBar中的3点按钮旁边创建一个新按钮(仅图标)。这是我尝试过的代码,但它将其添加为3点按钮的子项

main\u activity\u actions.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/create_game"
        android:menuCategory="container"
        android:orderInCategory="1"
        android:title="@string/new_game"
        android:titleCondensed="nieuw spel">
    </item>

</menu>
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_activity_actions, menu);
    return true;
}

另外,我如何找到我可以使用的默认图标?

是的,您可以通过充气自定义操作栏添加带有以下图像的按钮:

@Override protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    LayoutInflater inflater = (LayoutInflater) getActionBar()
            .getThemedContext()
            .getSystemService(LAYOUT_INFLATER_SERVICE);
    View customActionBarView = inflater.inflate(R.layout.actionbar_custom, null);
    ActionBar actionBar = getActionBar();
    actionBar.setDisplayOptions(
            ActionBar.DISPLAY_SHOW_CUSTOM,
            ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE);
    actionBar.setCustomView(customActionBarView,
        new ActionBar.LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.MATCH_PARENT));

    setContentView(R.layout.activity_main);
}

其中,\u actionbar\u custom.xml将是您的布局资源,通常是一个带有您想要的任何组件的
线性布局。

要在操作栏中显示图标,您可以将该行添加到您的xml项目中。不过,Android只有在判断动作栏中有足够的空间时才会显示它。如果您总是严格地希望显示按钮,则可以定义并设置操作栏的自定义布局

您可以从下载操作栏的默认图标集

/res/menu/activity\u main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/menu_settings"
        android:showAsAction="never"
        android:title="@string/menu_settings"/>

    <item
        android:id="@+id/menu_save"
        android:showAsAction="ifRoom"
        android:icon="@android:drawable/ic_menu_save"
        android:title="@string/menu_guardar"/>

    <item
        android:id="@+id/menu_new"
        android:showAsAction="ifRoom|withText"
        android:icon="@android:drawable/ic_menu_add"
        android:title="@string/menu_nuevo"/>
</menu>
您可以在此处下载所有IconPack:


如何将图标集添加到我的项目中?您可以将要使用的图标复制到项目中的drawables文件夹中,然后将此资源作为背景添加到XML项目中,如下所示:android:background=“@drawable/myninepatch”
public class MainActivity extends 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.activity_main, menu);
        return true;
    }
}

//onClic item
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.menu_new:
            Log.i("ActionBar", "Nuevo!");
            return true;
        case R.id.menu_save:
            Log.i("ActionBar", "Guardar!");;
            return true;
        case R.id.menu_settings:
            Log.i("ActionBar", "Settings!");;
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}