2017-06-05 31 views
0

我正在使用ConstraintLayout來顯示頁面,而且我找不到在標題欄中央設置標題的方法。我沒有使用操作欄或工具欄。我在網上找到的解決方案都是關於在活動欄上添加我沒有的標籤。如何在ConstraintLayout中居中頁面標題

這裏的佈局:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_centerHorizontal="true" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="right" 
    tools:context="com.spydertrap.occexample.MainActivity" 
    tools:layout_editor_absoluteY="81dp" 
    tools:layout_editor_absoluteX="0dp"> 

    <android.support.constraint.Guideline 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/guideline2" 
     android:orientation="vertical" 
     app:layout_constraintGuide_percent="0.5" 
     tools:layout_editor_absoluteY="0dp" 
     tools:layout_editor_absoluteX="206dp" /> 


    <android.support.v7.widget.CardView 
     android:id="@+id/cardView2" 
     android:layout_height="150dp" 
     android:layout_width="0dp" 
     app:layout_constraintRight_toLeftOf="@+id/guideline2" 
     android:layout_marginRight="8dp" 
     android:layout_marginLeft="8dp" 
     app:layout_constraintLeft_toLeftOf="parent" 
     android:layout_marginTop="8dp" 
     app:layout_constraintTop_toBottomOf="@+id/cardView" 
     android:layout_marginStart="8dp" 
     android:layout_marginEnd="8dp"> 

     <ImageView 
      android:id="@+id/imageView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:scaleType="centerCrop" 
      android:layout_marginBottom="50dp" 
      app:srcCompat="@drawable/resource" /> 

     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="116dp" 
      android:layout_marginLeft="10dp" 
      android:textAppearance="@style/CardSubTitle" 
      android:text="Resource Center" /> 
    </android.support.v7.widget.CardView> 
</android.support.constraint.ConstraintLayout> 

和活動很簡單:

public class MainActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     setTitle("Dashboard"); 
    } 
} 

This title needs to be centered

任何幫助將不勝感激!

+0

你說,美不使用操作欄或工具欄則u如何設置,在這裏沒有看到它在你的佈局? – Pavan

+0

我沒有在我的佈局中設置它。我只在活動中設置標題內容。 –

+0

那麼它是行動吧,你正在使用行動欄主題 – Pavan

回答

0

重寫活動的setTitle(CharSequence標題)方法。

公共類MainActivity擴展AppCompatActivity {

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

    setTitle("Dashboard"); 

} 

@Override 
public void setTitle(CharSequence title) { 
    super.setTitle(title); 

    TextView textView = new TextView(this); 
    textView.setText(title); 
    textView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)); 
    textView.setGravity(Gravity.CENTER_HORIZONTAL); 
    getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
    getSupportActionBar().setCustomView(textView); 
} 
+0

它適合我,謝謝@sneha_km! –