我正在采取措施,在Visual Studio中使用Xamarin将现有的“Windows Forms”应用程序(在手持设备上运行的Compact Framework / Windows CE应用程序)移植到Android(以后开始使用 - IOS和Windows Phone)。
遗留主表单包含一个菜单项;我没有在Visual Studio中的“Android / Xamarin”工具箱中看到一个类似的控件。
我应该使用ExpandableListView控件/小部件,还是Android的标准菜单替换?
以下是石碑/算盘上菜单的样子:
在项目属性中将我的“最小Android到目标”版本从15减少到7后,我能够运行它,但它比帝国大厦高,并且没有“菜单栏”:
答案 0 :(得分:1)
Android 3.0 +:
自Android 3以来,有一个操作栏http://developer.android.com/guide/topics/ui/actionbar.html。我更喜欢这样做" android方式"。
Android< 3.0:强>
如果您需要支持早期版本的android,您可以使用旧菜单http://developer.android.com/guide/topics/ui/menus.html#options-menu或使用操作栏sherlock将操作栏带到它。
对于Xamarin,您还可以使用Actionbar Sherlock组件:http://components.xamarin.com/gettingstarted/XamarinActionBarSherlock或创建自己的绑定。
<强>用法:强>
您需要将样式(主题)设置为Holo。您可以在代码中执行此操作。
[Activity(Label = "Foobar", MainLauncher = true, Theme = "@android:style/Theme.Holo.Light")]
public class MainActivity : Activity { ... }
操作栏将显示红色箭头指向的位置:
答案 1 :(得分:0)
这真的不难(一旦你知道如何)。
无论如何,Droidio(Android Studio)会自动为\ menu文件夹中的每个Activity添加一个.xml文件,并带有默认的“设置”菜单项。使用该项目作为模板,很容易将其包含在其他菜单项中,因为我在这里添加了一个“获取供应商”:
所以这些内容在main.xml中:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="hhs.app.MainActivity" >
<item android:id="@+id/newdelivery"
android:title="@string/new_delivery"
android:orderInCategory="10"
app:showAsAction="never" />
<item android:id="@+id/newinventory"
android:title="@string/new_inventory"
android:orderInCategory="20"
app:showAsAction="never" />
<item android:id="@+id/deletefetched"
android:title="@string/delete_fetched"
android:orderInCategory="30"
app:showAsAction="never" />
<item android:id="@+id/verifycode"
android:title="@string/verify_code"
android:orderInCategory="40"
app:showAsAction="never" />
<item android:id="@+id/hhssettings"
android:title="@string/hhs_settings"
android:orderInCategory="50"
app:showAsAction="never" />
</menu>
给你: