2014-11-13 3 views
-1

Я хочу, чтобы выровнять заголовок моего приложения с центром моего экрана действий всегда. Он должен быть отзывчивым, т. Е. Должен быть выровнен по центру, соответствующему размеру экрана. Как это возможно? Я пытался создать макеты папок и конструировать его для нескольких размеров экрана и отрегулировать проставку влево и вправо для каждого размера экрана, но он не выравнивается по центру. Кто-нибудь может найти мне решение?выравнивание текста в центре панели действий

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" > 

<TextView 
    android:id="@+id/textView1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:padding="5dp" 
android:shadowColor="@android:color/black" 
android:layout_centerInParent="true" 
android:shadowRadius="1" 
android:text="Title" 
android:textColor="#000010" 
android:textSize="20sp" 
android:textStyle="bold" /> 

javacode для ActionBar

View mActionBarView = getLayoutInflater().inflate(R.layout.mynewaction, null); 
    final android.app.ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayShowHomeEnabled(false); 
    getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent))); 
    actionBar.setCustomView(mActionBarView); 
    actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
    actionBar.setBackgroundDrawable(getResources().getDrawable(R.drawable.gradientwhite));  

также я созданные папки макета-sw320dp, макет-sw480dp, макет-sw600dp, макет-sw720dp

это скриншот я get

enter image description here

+0

удалить paddingLeft it disturb the text – Furqan

+0

удалить андроид: paddingleft = "89dp", и вы будете в порядке ....:) ( – Umair

+0

замените текстовое изображение на

ответ

0
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" > 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="5dp" 
    android:shadowColor="@android:color/black" 
    android:layout_centerInParent="true" 
    android:shadowRadius="1" 
    android:text="Title" 
    android:textColor="#000010" 
    android:textSize="20sp" 
    android:textStyle="bold" /> 

</RelativeLayout> 

Попробуйте это. Надеюсь, поможет.

+0

извините, что он перемещает текст в левый угол, только он не выравнивается к центру .. –

+0

Вы делаете пользовательскую панель действий справа. Покажите, как его выглядит. – virendrao

+0

см. Отредактированный вопрос выше @ vo12..Но он отображается правильно в графическом макете. –

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

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:paddingLeft="89dp" 
    android:paddingTop="10dp" 
    android:shadowColor="@android:color/white" 
    android:shadowRadius="1" 
    android:text="Title" 
    android:textColor="#000010" 
    android:textSize="20sp" 
    android:textStyle="bold" /> 

1

Попробуйте заменить это все свойства:

android:layout_alignParentTop="true" 
android:layout_centerHorizontal="true" 
android:paddingLeft="89dp" 
android:paddingTop="10dp" 

Только с этого свойства:

android:layout_centerInParent="true" 

Обновленный код:

ActionBar.LayoutParams params = new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT,ActionBar.LayoutParams.MATCH_PARENT, Gravity.CENTER); 
actionBar.setCustomView(mActionBarView,params); 
+0

Я пробовал это, но его показывал текст в левом углу панели действий. см. изображение выше –

+0

, пожалуйста, проверьте обновленный код ... –

+0

благодаря его решению .. –