Android:我可以更改标题栏位置吗?

时间:2012-02-14 13:46:53

标签: android android-layout android-theme

我为我的应用程序制作了一个自定义标题栏,但我希望看到屏幕底部的标题栏而不是顶部的样子。这样做是否可行?

非常感谢!

更新

我正在尝试执行此操作:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    setContentView(R.layout.main);
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.headermenu);
    RelativeLayout titleBar = (RelativeLayout) findViewById(R.id.title);
    RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.WRAP_CONTENT,
            RelativeLayout.LayoutParams.WRAP_CONTENT);
    rlp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    titleBar.setLayoutParams(rlp);

我的headermenu.xml是:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:id="@+id/title" >

        <Button
            android:id="@+id/action_back"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="8dp"
            android:background="@layout/sendbutton" />

        <Button
            android:id="@+id/action_send"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dp"
            android:layout_marginTop="1dp"
            android:background="@drawable/ic_menu_send" />

        <Button
            android:id="@+id/action_forward"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dp"
            android:background="@drawable/ic_menu_back" />

        <Button
            android:id="@+id/action_next"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:background="@drawable/ic_menu_forward" />

当onCreate函数在执行代码时没有完成时,我收到错误。

错误:

Thread [<1> main] (Suspended (exception ClassCastException))    
    FrameLayout.onLayout(boolean, int, int, int, int) line: 297 
    FrameLayout(View).layout(int, int, int, int) line: 7320 
    LinearLayout.setChildFrame(View, int, int, int, int) line: 1263 
    LinearLayout.layoutVertical() line: 1137    
    LinearLayout.onLayout(boolean, int, int, int, int) line: 1051   
    LinearLayout(View).layout(int, int, int, int) line: 7320    
    PhoneWindow$DecorView(FrameLayout).onLayout(boolean, int, int, int, int) line: 342  
    PhoneWindow$DecorView(View).layout(int, int, int, int) line: 7320   
    ViewRoot.performTraversals() line: 1162 
    ViewRoot.handleMessage(Message) line: 1882  
    ViewRoot(Handler).dispatchMessage(Message) line: 99 
    Looper.loop() line: 130 
    ActivityThread.main(String[]) line: 3701    
    Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
    Method.invoke(Object, Object...) line: 507  
    ZygoteInit$MethodAndArgsCaller.run() line: 866  
    ZygoteInit.main(String[]) line: 624 
    NativeStart.main(String[]) line: not available [native method]  

谢谢!

2 个答案:

答案 0 :(得分:1)

是的,您可以在Bottom

中的布局中添加标题栏

答案 1 :(得分:0)

将标题栏布局置于底部我将帮助您解决问题