飞雪团队

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

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

[复制链接]

9224

主题

9312

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
30002
发表于 2022-2-12 18:11:02 | 显示全部楼层 |阅读模式
                       
# u1 Q2 R$ J* S5 R2 r                                                        <h2>Android: using app:showAsAction="always" for all menu items</h2>
* ~0 z1 e1 D1 I' p* B- N5 B$ q<div id="fc">
! k4 s( {* `- }' p7 x<p></p><center> <script src="/c1.js"></script></center><p></p>
' [1 Z0 [% ]+ W0 O! ~" d8 R<p>在我正在开发的这个应用程序的主要活动中,我希望 4 个菜单项始终显示在操作栏中。我对菜单的每个项目都使用了 showAsAction = "always",因为我的此活动中的主题删除了标题并仅显示图标,因此我知道操作栏中将有很大的空间用于显示图标。但是,我不确定是否将所有项目都设置为"始终"" 是正确的做法.. 还有其他方法还是我正确?</p>" N# I3 X& V. n* X! l# e& d) L. w
<p>ps: showAsAction = "ifRoom" 只允许我的应用在操作栏中显示 2 个项目..</p>$ p6 t& Q* K: |* k- `1 C8 b
<div class="suo-content"><div style="text-align: right;">
* X# H! O% p& N0 E; N                <div class="xControl"><i class="fa fa-caret-right"></i>8 Q5 m3 k  M, i7 e2 d  r
                        <span class="xTitle"></span>
: M$ _2 u; S4 ~  Z9 L                        相关讨论
/ ~, c* r) @, d* l) S5 @                        <div style="clear: both;"></div>, f; b+ O  j! @+ O0 X1 ?
                </div>
# w  d' p/ I1 t$ C9 k0 T0 k, s                <div class="xContent" style="display: none;"><p></p>. S7 O1 ~$ h& v$ \0 Q* A/ J
<ul>6 S3 a3 z7 f( v2 ?1 Y3 [- s
<li>如果您有兴趣创建您选择的 ActionBar,请在此处参考我的回答 stackoverflow.com/questions/26439715/...</li>% K: X- t3 B2 t: |4 @. q9 ]) N
</ul>
, A  K) v$ s- _& _$ G<p></p></div>
6 c. J7 z7 k0 N3 R; V: ]$ g        </div><p></p></div>
. `) ]+ Z6 _! R9 W) ^1 X/ @1 }  k% V<hr>; c8 q9 t7 _9 e1 X1 R6 u6 ?
<p>如果您想确保拥有所有 4 个图标,最好创建自己的 ActionBar 并做任何您喜欢的事情。</p>
' f3 `0 u5 r3 [  t: b<p>在原来的 ActionBar 中你可以使用 :</p>6 ?. ]5 g8 q% V9 n7 a3 Q" L
<blockquote>; l+ q4 ?8 m+ S
<p>android:showAsAction="always"</p>0 m, R/ T- \' \& W  B
</blockquote>
4 s" V9 l' W0 j: y. C4 D5 ]<p>这将迫使他们在那里,但如果仍然没有足够的空间,请考虑发生了什么。</p>  H+ K4 J1 K2 s. V% i! b
<blockquote>
" S; c- m- B' f' x<p></p><center> <script src="/c2.js"></script></center><p></p>6 q2 @2 N; j1 X- u# B1 s
<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 `; H5 T) V. @' V
</blockquote>. {- U& }  W3 I
<p>从这里</p>. k& }# N) V8 I( @% C
<hr>
6 x% X4 X; z5 m' t" R% L<p>你可以通过编程来完成这个任务:</p>3 [8 E0 Z# M- Z9 B
<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>+ ^% E# k9 g$ [) b  N; p
public boolean onCreateOptionsMenu(final Menu menu) {<br>7 f( K5 e* H( y# [) }0 o
&nbsp; &nbsp; super.onCreateOptionsMenu(menu);<br>8 G4 O( q, O8 U& X+ _0 ~4 k1 K4 C. n& ]
<br>
9 y/ j% ], _! }9 @0 \&nbsp; &nbsp; getMenuInflater().inflate(R.menu.main, menu);<br>. }( M6 C' \; F5 J+ B
<br>1 c1 f# \& k' H, j& j
&nbsp; &nbsp; for (int i = 0; i &lt; menu.size(); i++) {<br>5 p3 i5 O& \0 j6 Y9 q7 _& ^/ s5 `
&nbsp; &nbsp; &nbsp; &nbsp; menu.getItem(i).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);<br>2 {9 N3 F, P1 F5 M. d
&nbsp; &nbsp; }<br>7 s4 |3 n* m! f2 C% `9 ^' g3 ]. l
<br>& m/ M6 J9 S  q# f/ ], |+ B* {
&nbsp; &nbsp; return true;<br>* R* I% _& l* \5 ^; B; r8 G6 A
}</div></td></tr></tbody></table></div>
; D3 J8 X; L4 {* X; T9 q<hr></div>
1 j' l+ D4 h5 l+ ]/ @                                                                                                                                                                                                7 o2 L( R: b# G2 j2 S
                                               
回复

使用道具 举报

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

本版积分规则

手机版|飞雪团队

GMT+8, 2026-9-30 07:39 , Processed in 0.066480 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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