如何在actionbar android中设置背景图片

时间:2015-01-08 07:18:31

标签: android android-actionbar themes android-appcompat android-toolbar

我是一位新的Android开发者。如何在actionbar android中设置背景图片。

我可以在操作栏中添加图片背景。但不能缩放我的形象。

enter image description here

我的风格

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

</style>

MainActivity

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    LayoutInflater mInflater = LayoutInflater.from(this);

    View mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);

    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayShowHomeEnabled(true);
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayShowCustomEnabled(true);
    actionBar.setCustomView(mCustomView);

}

custom_actionbar layout

<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent">
<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/image" />
</RelativeLayout>

解决方案

我使用此Lib&gt;&gt; Android-ObservableScrollView

1 个答案:

答案 0 :(得分:2)

请阅读这篇文章:http://cyrilmottier.com/2013/05/24/pushing-the-actionbar-to-the-next-level/

在那里,您将找到关于您的任务的示例和教程

你也可以像这样设置动作栏背景。

private void setActionBar() {
        getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(true);
        getSupportActionBar().setCustomView(R.layout.header_actionbar);
        getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.actionbar_blue)));
        TextView tvHeader = (TextView) findViewById(R.id.tv_title_header_actionbar);
        TextView tvSubheader = (TextView) findViewById(R.id.tv_subtitle_header_actionbar);
        tvSubheader.setVisibility(View.GONE);
    }

setActionBar()中致电oncreate()