2016-09-16 78 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

改變圖像爲白色圖像 –

相關問題