2016-09-16 74 views
2

我想在工具栏的右上角添加一个按钮,这是我的代码:位于顶部右侧工具栏的角落添加按钮编程

mToolbar = (Toolbar) getActivity().findViewById(R.id.toolbar); 

    verified_btn = new Button(getActivity()); 
    verified_btn.setBackgroundResource(R.drawable.ic_done_black_24dp); 

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(Toolbar.LayoutParams.WRAP_CONTENT, Toolbar.LayoutParams.WRAP_CONTENT); 

    params.addRule(RelativeLayout.ALIGN_PARENT_END); 
    params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 
    params.width = 80; 
    params.height = 80; 

    verified_btn.setLayoutParams(params); 
    verified_btn.setOnClickListener(this); 
    mToolbar.addView(verified_btn); 

但这是结果:

enter image description here

我尝试过不同的方式,但总是在那里,我该怎么办?

+0

'Toolbar'不是RelativeLayout'的'一个孩子。这就是为什么'RelativeLayout.LayoutParams'规则对它没有任何影响。您可以尝试将“重力”添加到按钮而不是规则。 –

+0

我已经试过这个:params.gravity = Gravity.END;和这params.gravity = Gravity.RIGHT没有成功 – Piero

+0

工具栏的右侧是为菜单保留。所以你必须把它设置为一个菜单项。 –

回答

1

添加此活到您的活动。这将添加菜单。

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    super.onCreateOptionsMenu(menu, inflater); 
    menu.clear(); 
    inflater.inflate(R.menu.right_menu, menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    int id = item.getItemId(); 

    switch (id) { 
     case R.id.action_home: 
      //Do Whatever you want to do here. 
      return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

添加新的XML下res > menu > right_menu.xml

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

    <item 
     android:id="@+id/action_home" 
     android:orderInCategory="100" 
     android:title="@string/title_activity_home" 
     android:icon="@drawable/ic_home" 
     app:showAsAction="ifRoom" /> 
</menu> 

应用:showAsAction = “总是”将始终显示你的图标

注意:如您有片段。你需要在片段的onCreate中写入这一行。

setHasOptionsMenu(true); 

enter image description here

+0

onCreateOptionsMenu告诉我,从来没有使用片段 – Piero

+0

谢谢!你知道我可以改变颜色吗?现在它是黑​​色的,我想它白色 – Piero

+0

改变图像为白色图像 –

相关问题