2014-10-02 36 views
1

我正在設計一個動作欄,我設計了一個自定義動作欄,但該客戶動作欄中的問題是我使用了一個文本視圖,我需要它作爲中心。 這裏是我的自定義操作欄的XML代碼 -如何在android中創建文本視圖中心?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:gravity="center_horizontal" 
android:layout_height="50dp" 
> 
<TextView 
    android:id="@+id/title_text" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:layout_gravity="center" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textColor="#000000" 
    android:textSize="20sp" 
    android:text="@string/app_name" 
    /> 
    </LinearLayout> 

這裏是使custome操作欄該活動我的Java代碼。

ActionBar mActionBar = getActionBar(); 
    mActionBar.setDisplayShowHomeEnabled(true); 
    mActionBar.setDisplayShowTitleEnabled(false); 
    LayoutInflater mInflater = LayoutInflater.from(this); 
    View mCustomView = mInflater.inflate(R.layout.customactionbar, null); 
    TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.title_text); 
    getActionBar().setBackgroundDrawable(
      new ColorDrawable(Color.parseColor("#f8f8f8"))); 
    Typeface fontt = Typeface.createFromAsset(getAssets(), "helvetica.ttf"); 
    mTitleTextView.setTypeface(fontt); 
    mActionBar.setCustomView(mCustomView); 
    mActionBar.setDisplayShowCustomEnabled(true); 
    getActionBar().setIcon(
       new ColorDrawable(getResources().getColor(android.R.color.transparent))); 
+1

你沒有使用自定義的操作欄的默認 – 2014-10-02 06:28:27

+1

使用相對佈局,而不是線性佈局 – 2014-10-02 06:28:29

+0

添加此到你的xml''android:gravity =「center」'爲'TextView' – prabhakaran 2014-10-02 06:43:16

回答

1

你可以在你的XML嘗試這與Relative Layout

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="match_parent" 
      android:layout_height="50dp" 
      android:layout_gravity="center" 
      android:orientation="vertical"> 

     <TextView 
      android:id="@+id/title_text" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:layout_gravity="center" 
      android:layout_centerHorizontal="true" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:textColor="#000000" 
      android:textSize="20sp" 
      android:text="@string/app_name"/> 
    </RelativeLayout> 
+0

完成但這不適用於我 – 2014-10-02 06:43:30

+0

你可以添加你的應用程序的屏幕截圖 – 2014-10-02 06:54:47

+0

http://javatechig.com/android/actionbar-with-custom-view-example-in-android檢查這個例子並使用它。 – 2014-10-02 06:56:37

0

試着改變你的佈局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="50dp" 
android:gravity="center_horizontal" > 

<TextView 
    android:id="@+id/title_text" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    android:text="@string/app_name" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textColor="#000000" 
    android:textSize="20sp" /> 

希望這會工作。

+0

我也這樣做過,但這不適合我 – 2014-10-02 06:37:46

0

我是新來的機器人,但我認爲它的工作原理

你爲什麼要使用需要),而不是

1的relativeLayoutLinearLayout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:gravity="center_horizontal" 
android:layout_height="50dp" 
> 
    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="30dp" 
     android:text="@string/app_name" 
     android:textColor="#000000" 
     android:typeface="serif" /> 

    </RelativeLayout> 

enter image description here

+0

對不起,這對我不適用 – 2014-10-02 06:42:33

+0

@HiteshMatnani在'TextView'中使用'android:layout_width =「wrap_content」' – 2014-10-02 06:49:45

0

佈局?爲什麼你沒有在你的customactionbar.xml文件中有一個單獨的TextView,其中android:gravity="center"和寬度和高度設置爲match_parent

0

嘗試在你的TextView添加三個屬性中刪除任何其他重力屬性

android:gravity="center" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 

希望它可以幫助

+0

我已經這樣做了,但這個工作!如在圖形佈局它的表演完美,但在服裝行動吧它中心屬性不工作正確! – 2014-10-02 08:10:44

+0

然後檢查您的活動代碼我認爲這是您活動的問題 – Rajesh 2014-10-02 08:20:42

+0

感謝您請檢查我在上述問題中提及的活動代碼! – 2014-10-02 08:56:34

相關問題