自定义标题栏不填充标题栏区域

时间:2011-02-25 00:13:08

标签: android custom-titlebar

我已经使用以下代码添加了一个自定义标题栏但是它似乎在左下方有大约10 px的间距,在底部有一个2px,无论如何我可以使自定义标题栏适合titlbar区域吗?

感谢您的任何建议

乔纳森

customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.tab);
        Display display = getWindowManager().getDefaultDisplay(); 

        if (customTitleSupported) {
            getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
                            R.layout.titlebar);

            LinearLayout titlebar = (LinearLayout) findViewById(R.id.TitleBarLayOut);
            titlebar.setPadding(-2, -1, -2, -1);
            titlebar.setMinimumWidth(display.getWidth());
            GradientDrawable grad = new GradientDrawable(Orientation.TOP_BOTTOM,
                      new int[] {Color.RED, Color.YELLOW}
                    );
            titlebar.setBackgroundDrawable(grad);

            playButton = new Button(this);
            playButton.setText("Play");
            playButton.setGravity(Gravity.LEFT);

            infoButton = new Button( this );
            infoButton.setText("Info");
            infoButton.setGravity(Gravity.RIGHT);

            titlebar.addView(playButton, new LinearLayout.LayoutParams(
                      70,1));

            titlebar.addView(infoButton, new LinearLayout.LayoutParams(
                  70,1));


        }


<?xml version="1.0" encoding="utf-8"?>

3 个答案:

答案 0 :(得分:2)

您想要填充实际标题栏的背景 - 而不是您的自定义区域。 试试这里为我工作的解决方案:Set title background color

答案 1 :(得分:0)

您想要使用FILL_PARENT作为宽度。在XML中:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"

答案 2 :(得分:0)

今天,这很简单,正如我在2011年所知道的那样,并不是那么简单。将属性“ Dock”设置为“ Top”会为您填充。

titlebar.Dock = DockStyle.Top;