0

我在我的项目中使用 actionbarshearlock 库。我希望操作栏是透明的。怎么做?提前致谢。

4

2 回答 2

4

在此处输入图像描述


不使用 actionbarshearlock:


只需添加这一行:requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);

setContentView(R.Layout.Test)在之前onCreate

这条线给你TRANSPARENT ActionBar

getActionBar().setBackgroundDrawable(
                    getResources().getDrawable(R.drawable.ab_bg_black));

像:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
        setContentView(R.layout.activity_main);

        getActionBar().setBackgroundDrawable(
                getResources().getDrawable(R.drawable.ab_bg_black));
}

对于 R.drawable.ab_bg_black 只需在 string.xml 中添加可绘制颜色,如:

<drawable name="ab_bg_black">#80000000</drawable>

使用 actionbarshearlock 的方法相同:


@Override
    protected void onCreate(Bundle savedInstanceState) {
        setTheme(SampleList.THEME); //Used for theme switching in samples
        requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.overlay);

        //Load partially transparent black background
        getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.ab_bg_black));

}

编辑: Start listview After Actionbar.

在此处输入图像描述

如果您使用的是 actionbarshearlock,那么只需执行以下操作:

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

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:paddingTop="?actionBarSize" >
    </ListView>

</LinearLayout>
于 2013-04-08T06:57:29.367 回答
2

试试这个代码,但我不确定这正是你需要的:

 bar.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
于 2013-04-08T06:56:53.963 回答