You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitProject1/01src/net/micode/notes/ui/DropdownMenu.java.html

80 lines
4.1 KiB

<html>
<head>
<title>DropdownMenu.java</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
.s0 { color: #8c8c8c; font-style: italic;}
.s1 { color: #080808;}
.s2 { color: #0033b3;}
</style>
</head>
<body bgcolor="#ffffff">
<table CELLSPACING=0 CELLPADDING=5 COLS=1 WIDTH="100%" BGCOLOR="#c0c0c0" >
<tr><td><center>
<font face="Arial, Helvetica" color="#000000">
DropdownMenu.java</font>
</center></td></tr></table>
<pre><span class="s0">/*
* Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
*
* Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/</span>
<span class="s2">package </span><span class="s1">net.micode.notes.ui;</span>
<span class="s2">import </span><span class="s1">android.content.Context;</span>
<span class="s2">import </span><span class="s1">android.view.Menu;</span>
<span class="s2">import </span><span class="s1">android.view.MenuItem;</span>
<span class="s2">import </span><span class="s1">android.view.View;</span>
<span class="s2">import </span><span class="s1">android.view.View.OnClickListener;</span>
<span class="s2">import </span><span class="s1">android.widget.Button;</span>
<span class="s2">import </span><span class="s1">android.widget.PopupMenu;</span>
<span class="s2">import </span><span class="s1">android.widget.PopupMenu.OnMenuItemClickListener;</span>
<span class="s2">import </span><span class="s1">net.micode.notes.R;</span>
<span class="s2">public class </span><span class="s1">DropdownMenu {</span>
<span class="s2">private </span><span class="s1">Button mButton;</span>
<span class="s2">private </span><span class="s1">PopupMenu mPopupMenu;</span>
<span class="s2">private </span><span class="s1">Menu mMenu;</span>
<span class="s2">public </span><span class="s1">DropdownMenu(Context context, Button button, </span><span class="s2">int </span><span class="s1">menuId) {</span>
<span class="s1">mButton = button;</span>
<span class="s1">mButton.setBackgroundResource(R.drawable.dropdown_icon);</span>
<span class="s1">mPopupMenu = </span><span class="s2">new </span><span class="s1">PopupMenu(context, mButton);</span>
<span class="s1">mMenu = mPopupMenu.getMenu();</span>
<span class="s1">mPopupMenu.getMenuInflater().inflate(menuId, mMenu);</span>
<span class="s1">mButton.setOnClickListener(</span><span class="s2">new </span><span class="s1">OnClickListener() {</span>
<span class="s2">public void </span><span class="s1">onClick(View v) {</span>
<span class="s1">mPopupMenu.show();</span>
<span class="s1">}</span>
<span class="s1">});</span>
<span class="s1">}</span>
<span class="s2">public void </span><span class="s1">setOnDropdownMenuItemClickListener(OnMenuItemClickListener listener) {</span>
<span class="s2">if </span><span class="s1">(mPopupMenu != </span><span class="s2">null</span><span class="s1">) {</span>
<span class="s1">mPopupMenu.setOnMenuItemClickListener(listener);</span>
<span class="s1">}</span>
<span class="s1">}</span>
<span class="s2">public </span><span class="s1">MenuItem findItem(</span><span class="s2">int </span><span class="s1">id) {</span>
<span class="s2">return </span><span class="s1">mMenu.findItem(id);</span>
<span class="s1">}</span>
<span class="s2">public void </span><span class="s1">setTitle(CharSequence title) {</span>
<span class="s1">mButton.setText(title);</span>
<span class="s1">}</span>
<span class="s1">}</span>
</pre>
</body>
</html>