gpt4 book ai didi

android - 如何在android中制作自定义拆分(底部)菜单

转载 作者:太空狗 更新时间:2023-10-29 14:18:32 26 4
gpt4 key购买 nike

我正在尝试制作一个拆分菜单(有或没有 sherlock),但我仍然没有成功。

public class MainActivity extends SherlockFragmentActivity  {
ActionBarSherlock mSherlock = ActionBarSherlock.wrap(this);
...............
mSherlock.setUiOptions(ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW);
mSherlock.setContentView(R.layout.activity_main);
...............
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Used to put dark icons on light action bar
boolean isLight = false;

menu.add("You")
.setTitle("You")
.setIcon(isLight ? R.drawable.icon_you : R.drawable.icon_you)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

menu.add("Pet Open")
.setIcon(isLight ? R.drawable.icon_pet_open : R.drawable.icon_pet_open)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

menu.add("Around")
.setIcon(isLight ? R.drawable.icon_around : R.drawable.icon_around)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

return true;
}

结果我得到了 3 个没有标题和默认背景的小图标,我不知道如何更改。这是我想要得到的:

Split Menu Bottom

如何在不影响顶部菜单的情况下添加自定义底部菜单?

这是我发现的:

implement split menu from manifest (我不认为这会让我有机会改变我想要的任何东西)

using layout params - 看起来它不能正常工作。


实现此菜单的最佳方式是什么?


更新 here is one more way i found:好的是我可以看到如何改变它,但坏的是它在顶部和底部使用相同的背景,我不确定我是否可以改变它。 enter image description here

最佳答案

2个选项:

1) 您可以在 list 中设置标志(或像上面那样以编程方式设置)以拆分 ActionBar,但这仅在您使用手机大小的纵向设备时有效,并且即便如此,它仍将 ActionBar 显示在顶部,但将前几个 ActionItem 移至底部。这在大多数情况下都很好,但听起来您好像在说您总是希望显示此底部,而您将使用的系统菜单无法按照您想要的程度设置样式。

2) 为屏幕底部制作您自己的布局,以创建您正在谈论的样式菜单。这可能有效:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:orientation="vertical" >

<!-- this is where the Activity contents go -->
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:background="#8f8"
android:orientation="horizontal" >

<!-- this is the green bottom bar -->
</LinearLayout>

<LinearLayout
android:layout_width="48dp"
android:layout_height="70dp"
android:layout_alignParentBottom="true"
android:layout_alignParentleft="true"
android:layout_margin="5dp"
android:orientation="vertical" >

<!-- This is the status button -->

<ImageView
android:layout_width="48dp"
android:layout_height="40dp"
android:background="#00f" />

<TextView
android:layout_width="48dp"
android:layout_height="wrap_content"
android:padding="4dp"
android:text="Status"
android:textAlignment="center"
android:textSize="12sp" />
</LinearLayout>

<LinearLayout
android:layout_width="60dp"
android:layout_height="70dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_margin="5dp"
android:orientation="vertical" >

<!-- This is the Pet Open button -->


<ImageView
android:layout_width="60dp"
android:layout_height="40dp"
android:background="#00f" />

<TextView
android:layout_width="60dp"
android:layout_height="wrap_content"
android:padding="4dp"
android:text="Pet Open"
android:textAlignment="center"
android:textSize="12sp" />
</LinearLayout>

<LinearLayout
android:layout_width="60dp"
android:layout_height="70dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_margin="5dp"
android:orientation="vertical" >


<!-- This is the Refresh button -->

<ImageView
android:layout_width="60dp"
android:layout_height="40dp"
android:background="#00f" />

<TextView
android:layout_width="60dp"
android:layout_height="wrap_content"
android:padding="4dp"
android:text="Refresh"
android:textAlignment="center"
android:textSize="12sp" />
</LinearLayout>

</RelativeLayout>

这适用于 3 个按钮,并进行一系列调整以使其样式更接近您想要的样式。如果您希望超过 3 个出现在底部,并且您想要使用提供的 MenuItem,您可以在运行时在 onPrepareOptionsMenu() 中确定所有这些,并动态更改上面布局的一个版本。这将需要更多工作,但可能更符合您的需求。

关于android - 如何在android中制作自定义拆分(底部)菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19144716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com