2015-02-02 2 views
0

У меня есть проблема: я добавляю пользовательскую панель действий в приложении, но в виде панели действий есть пробел (позиция красного круга, на изображении ссылки).Пользовательская панель действий Android

enter image description here

код MainActivity:

public class MainActivity extends ActionBarActivity { 

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

     getSupportActionBar().setCustomView(R.layout.actionbar_layout); 
     getSupportActionBar().setDisplayShowCustomEnabled(true); 

    } 
} 

код actionbar_layout:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#0146A3"> 
    <TextView 
     android:id="@+id/abr_title" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_centerInParent="true" 
     android:gravity="center" 
     android:singleLine="true" 
     android:textColor="#FFFFFF" 
     android:textSize="26sp" 
     android:text="Title" 
     tools:text="Title"/> 
</RelativeLayout> 

Но не использовать андроид библиотеки поддержки, эта проблема не возникает ("MainActivity extands ActionBarActivity" изменение. «MainActivity extends Activity» и «getSupportActionBar() изменить на getActionBar()»)

+0

Просто обновите вашу тему в style.xml <стиль = "имя AppBaseTheme" родитель = "@ Android: стиль/Theme.Holo. Свет "> –

+0

Попробуйте выполнить это. скажите мне, работает или нет? –

+0

Спасибо, но это не работает. – Elirex

ответ

0

набор ActionBar фон с использованием style.xml

<style name="AppTheme" parent="AppBaseTheme"> 
     <item name="android:actionBarItemBackground">@drawable/bg_actionbar_selected</item> 

</style> 


<style name="action_bar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse"> 
     <item name="android:background">@drawable/yourBackgound or color</item> 
</style> 
0

Позвольте мне предложить другой способ сделать это: Шаг 1: Скрытие ActionBar. Используйте эту тему для своей деятельности.

android:theme="@android:style/Theme.NoTitleBar" 

step2: Использование пользовательских относительное расположение в ActionBar

<RelativeLayout 
        android:layout_width="fill_parent" 
        android:layout_height="60dp" 
        android:background="#009ACD"> 
      </RelativeLayout> 
+0

Спасибо, но произошла ошибка – Elirex

+0

Не могли бы вы упомянуть об ошибке здесь. Я проверил это и не получил никаких ошибок. – manDroid

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