飞雪团队

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 17142|回复: 0

Android:对所有菜单项使用 app:showAsAction=\\”always\\”

[复制链接]

8822

主题

8910

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28796
发表于 2022-2-12 18:11:02 | 显示全部楼层 |阅读模式
                       
2 [# T* }0 V5 o7 N+ N                                                        <h2>Android: using app:showAsAction="always" for all menu items</h2>2 Y! [7 {( V. A* p* e
<div id="fc">, T$ [, y5 I; }/ H
<p></p><center> <script src="/c1.js"></script></center><p></p>5 w4 A) e, P' `% ]' b; E( }, m: c
<p>在我正在开发的这个应用程序的主要活动中,我希望 4 个菜单项始终显示在操作栏中。我对菜单的每个项目都使用了 showAsAction = "always",因为我的此活动中的主题删除了标题并仅显示图标,因此我知道操作栏中将有很大的空间用于显示图标。但是,我不确定是否将所有项目都设置为"始终"" 是正确的做法.. 还有其他方法还是我正确?</p>: d* p. q+ f; r; `* w
<p>ps: showAsAction = "ifRoom" 只允许我的应用在操作栏中显示 2 个项目..</p>
* p0 \  i7 o% A: X% z<div class="suo-content"><div style="text-align: right;">
5 D5 ^- G% W1 r0 g* b* G8 l                <div class="xControl"><i class="fa fa-caret-right"></i>
. d/ U3 [: s0 ^+ n                        <span class="xTitle"></span>
. K- v5 a: }, \* y$ E; z! C& }                        相关讨论: [* k; ?# b% O! }+ o
                        <div style="clear: both;"></div>
2 J3 r& F+ z4 _2 X2 i* }1 E  h                </div>- Z+ @# Q  \& U! U( i4 H$ I
                <div class="xContent" style="display: none;"><p></p>8 |9 |: h6 E" w0 A2 l3 d' f
<ul>4 F" }& b  J1 t4 W& G) N
<li>如果您有兴趣创建您选择的 ActionBar,请在此处参考我的回答 stackoverflow.com/questions/26439715/...</li>/ b2 p* E1 y9 w" e1 T
</ul>2 G7 O! C4 u3 X
<p></p></div>2 N" Q! J0 w" |! B& L
        </div><p></p></div>8 Z4 y1 J- H$ h2 @. k' ~- }6 |& C
<hr># p- x" A3 l8 U1 S6 N+ O, b
<p>如果您想确保拥有所有 4 个图标,最好创建自己的 ActionBar 并做任何您喜欢的事情。</p># T/ W) \! s, k" T" e
<p>在原来的 ActionBar 中你可以使用 :</p>
  l+ y, B/ _' m<blockquote>
  z5 \7 M) k1 F( _<p>android:showAsAction="always"</p>
8 g$ j$ A! z7 \4 H7 V& ^# E</blockquote>/ D% u4 l' f" l& Y7 M7 S
<p>这将迫使他们在那里,但如果仍然没有足够的空间,请考虑发生了什么。</p>
( e" |; @- N. J' z+ Y! H<blockquote>
- e5 @8 z, L% ^% J<p></p><center> <script src="/c2.js"></script></center><p></p>
3 \* q$ g- D$ E<p>When contained within the action bar there is a finite maximum of action items based on the device's density-independent width. The action items can also not cover more than half the width of the action bar.</p>
$ |0 D* ?! w% I  \</blockquote>
* [- T  h0 O( @; t; u% B<p>从这里</p>
1 x! Z$ ^9 a: Q1 K4 W2 D5 f- h<hr>
! i, f& j  {/ g' \' h6 h' M0 N<p>你可以通过编程来完成这个任务:</p>
7 e: p4 D: d) d) |9 b0 ^/ X4 N<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;width:100%;"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>11<br>12<br></div></td><td><div class="text codecolorer">@Override<br>2 Z  t% Z1 j8 E) T. l7 m& U
public boolean onCreateOptionsMenu(final Menu menu) {<br>
1 D! \! u/ J4 A, A& y, m- _% L&nbsp; &nbsp; super.onCreateOptionsMenu(menu);<br>
' _0 o* l1 B$ [. e# p<br>' U! c0 R5 |' U8 s0 M
&nbsp; &nbsp; getMenuInflater().inflate(R.menu.main, menu);<br>
; T  m% G2 X2 Y9 s! e  d0 v<br>$ H+ p( S# e6 t" R' y1 d
&nbsp; &nbsp; for (int i = 0; i &lt; menu.size(); i++) {<br>' o- I# I# [& V+ j/ j
&nbsp; &nbsp; &nbsp; &nbsp; menu.getItem(i).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);<br>" f& M1 n2 Z# U$ c* Q7 K/ B
&nbsp; &nbsp; }<br>
0 `# s8 z7 k3 Y; _" X! G/ [1 M/ \<br>7 v) V* T0 M& j# K* }; b% w/ d
&nbsp; &nbsp; return true;<br>5 o+ v! R# h# [- R; V
}</div></td></tr></tbody></table></div># J: }( E. b1 M: u
<hr></div>% u, w: [( u  B. L! k
                                                                                                                                                                                                4 F5 e2 i0 r2 s6 e- s" i
                                               
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|飞雪团队

GMT+8, 2026-5-28 19:50 , Processed in 0.060200 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表