如何在android中制作iphone风格的菜单栏

时间:2011-08-11 01:16:51

标签: iphone android menu

我正在尝试将iphone应用程序移植到android。在应用程序内部有一个带有五个按钮的静态栏,其作用类似于菜单栏(即单击一个按钮将显示相应的页面)此栏不会消失,它应该会亮起,具体取决于按下的按钮。我不知道如何开始这个,并想知道是否有人可以给我一些帮助。这是按钮。谢谢Buttons

1 个答案:

答案 0 :(得分:1)

在我看来,复制iPhone应用程序并不是一个好主意。用户界面(以及用户行为)与iPhone和Android设备完全不同。问问自己“这是在Android上做到这一点的正确方法吗?”如果您不确定,请不要这样做。但是像Android上的其他开发者一样。

您可以按照本教程开始http://developer.android.com/resources/tutorials/views/hello-tabwidget.html然后(只有在您理解的情况下)为每个标签尝试类似的内容:

// Initialize a TabSpec for each tab and add it to the TabHost

spec = mTabHost.newTabSpec("Name of tab");
v = View.inflate(this, R.layout.tabbar_tabview, null);
((ImageView)v.findViewById(R.id.tabbar_tabview_img)).setBackgroundResource(R.drawable.ic_tab_expenses);
((TextView)v.findViewById(R.id.tabbar_tabview_text)).setText(R.string.general_tab_expenses);
spec.setIndicator(v);
spec.setContent(intent);
mTabHost.addTab(spec);

这是我的“tabbar_tabview.xml”的内容:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:padding="0dp"
    android:layout_height="fill_parent" android:layout_width="fill_parent"
        android:background="@drawable/tabview_background">

    <ImageView android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:id="@+id/tabbar_tabview_img"
        android:layout_gravity="center" android:layout_marginTop="5dp"></ImageView>

    <TextView  android:id="@+id/tabbar_tabview_text" android:layout_width="wrap_content"
        android:gravity="center" android:layout_height="wrap_content" android:textSize="13dp" android:layout_marginBottom="5dp"
        android:layout_gravity="center" android:textColor="@drawable/tabview_text_color"></TextView>

</LinearLayout> 

这是我的tabview_background.xml的内容:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true">
        <shape>
             ### I defined a shape here ###
        </shape>
    </item>

    <item>
        <shape>
             ### I defined a shape here ###
        </shape>
    </item>
</selector>