2014-11-02 4 views
0
I am using this code to add image to action bar. 

ActionBar actionBar = getSupportActionBar();Как добавить изображение в панель действий?

actionBar.setDisplayOptions(actionBar.getDisplayOptions() 
      | ActionBar.DISPLAY_SHOW_CUSTOM); 
    ImageView imageView = new ImageView(actionBar.getThemedContext()); 
    imageView.setScaleType(ImageView.ScaleType.CENTER); 
    imageView.setImageResource(R.drawable.logo_actionbar); 
    ActionBar.LayoutParams layoutParams = new ActionBar.LayoutParams(
      ActionBar.LayoutParams.WRAP_CONTENT, 
      ActionBar.LayoutParams.WRAP_CONTENT, Gravity.RIGHT 
        | Gravity.CENTER_VERTICAL); 
    layoutParams.rightMargin = 0; 
    imageView.setLayoutParams(layoutParams); 
    actionBar.setCustomView(imageView); 

Но stil Я получаю изображение в centre.Can, пожалуйста, скажите мне, где я ошибаюсь? Спасибо заранее.

+0

Что вы хотите сделать? Кроме того, это, вероятно, поможет: http://stackoverflow.com/questions/15518414/how-can-i-implement-custom-action-bar-with-custom-buttons-in-android – Jim

+0

Я не хочу создавать любой XML-файл, потому что у меня есть 12 различных действий, которые потребуют разного текста и изображений на панели действий. Там есть какой-либо способ сделать в java. Вышеприведенный код работает, но он отображает изображение в центре, но я хочу, чтобы это было правильно панели действий. – Stormbuster

ответ

0

Надуть LinearLayout или другой макет и добавить ImageView к макету.

Проблема в том, что ImageView занимает только пространство, необходимое для изображения. LinearLayout может заполнить ActionBar ImageView справа.

+0

Можете ли вы подробнее рассказать подробнее. Фактически я новичок, и я не знаю, как надуть LinearLayout.Thanks. – Stormbuster

Смежные вопросы