actionbarshearlock活动中的透明操作栏

时间:2013-04-08 06:37:14

标签: java android android-layout android-actionbar actionbarsherlock

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

2 个答案:

答案 0 :(得分:4)

enter image description here


不使用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.

enter image description here

如果您正在使用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>

答案 1 :(得分:2)

尝试此代码,但我不确定这正是您所需要的:

 bar.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));