2015-05-21 84 views
0

我試圖在AlertDialog.Builder中顯示setTile的整個句子,但我只是獲得部分顯示。我如何使用AlertDialog.Builder來管理?在AlertDialog.Builder中顯示整個setTitle

AlertDialog.Builder builder = new AlertDialog.Builder(this); 

builder.setTitle("Please help us to track the route, has this route arrived the stop? "); 

我很感激任何幫助。

+0

你最好的最好的是劃傷標題和和一個TextView作爲其替代品。 –

回答

1

對於長文本(或你顯示純文本)使用setMessage

builder.setMessage("Please help us to track the route, has this route arrived the stop? "); 

使用setTitle的一條消息很短的東西,爽快除了或者使用沒有標題的。

有關對話框更多閱讀: http://www.google.com/design/spec/components/dialogs.html#dialogs-content

+0

@Eugine:我使用'OnMultiChoiceClickListener'時,我使用'setMessage'複選框消失。 –

+0

@MrAsker我真的不是專家對話。如果使用列表(單選或多選),對話框的目的應該僅從對話標題中清楚。喜歡「喜歡的歌曲」和歌曲列表或「標記朋友」和一個同事名單。如果你不能簡單地考慮改變流程。 –

0

至於什麼@Eugene^h建議,你可以刪除AlertDialog的稱號,並使用自定義XML佈局與一個TextView,將作爲您的標題。

爲此,您需要從對話框中刪除Window.FEATURE_NO_TITLE。

final View dialogView = View.inflate(this, R.layout.custom_dialog, null); 
final AlertDialog alertDialog = new AlertDialog.Builder(this).create(); 
alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 

TextView tvTitle = (TextView)dialogView.findViewById(R.id.tvTitle); 
tvTitle.setText("Please help us to track the route, has this route arrived the stop?"); 

custom_dialog.xml

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

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:background="@android:drawable/divider_horizontal_textfield"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="This is the title" 
      android:id="@+id/tvTitle"/> 

    </LinearLayout> 


    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="This is the Message" 
     android:id="@+id/tvMessage"/> 

    <Button 
     android:id="@+id/date_time_set" 
     android:layout_weight="1" 
     android:layout_width="match_parent" 
     android:text="OK" 
     android:layout_height="0dp" /> 

</LinearLayout> 
+0

1)忘記調用'setView()'。 2)佈局充滿了活動背景而不是對話主題背景。小心這個。輕鬆修復:'AlertDialog.Builder.getContext()' –