2012-05-06 8 views
8

私はヘブライ語でアプリケーションを作成しています(これはrtlです)。 ダイアログ・フラグメントのタイトルを設定すると、左側に表示されます。 は、私はそれが実行して右側に表示作ってみました:ダイアログのフラグメントタイトルを右から表示するように設定する

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) 
{ 
    //set's up the title for this dialog fragment 
    getDialog().getWindow().setGravity(Gravity.RIGHT); 
    getDialog().setTitle(R.string.find_Address_text); 

をそれがタイトルの位置には影響を与えません。 これをどのように達成できますか? TNX

+0

私はこの方法を使用しました:http://stackoverflow.com/questions/14439538/how-can-i-change-the-color-of-alertdialog-title-and-the-color-of-the-line-/23278774#23278774 –

答えて

18

デフォルトのタイトルを非表示にし、レイアウトでカスタムタイトルを作成します。その後、お好みのスタイルでレイアウトの一番上にのTextViewを追加

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setStyle(STYLE_NO_TITLE, 0); // remove title from dialogfragment 
} 

:デフォルトのタイトルを非表示にするに

<TextView 
android:id="@+id/dialog_title" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:gravity="right|center" 
android:text="@string/dialog_title" /> 
+3

+1 for setStyle(STYLE_NO_TITLE) –

+0

2セントの質問は次のとおりです。このビューを実際のダイアログタイトルのようにテーマに設定することは可能でしょうか?電話のテーマを使用しますか? –

+0

@Waza_Be個人的に私は現在、HoloEverywhereを自分のアプリケーションに使用しているので、全体のテーマはさまざまなAPIで同じです。それ以外は、私が考えることができる唯一のものは、APIからアンドロイドを見つけて重力を設定することができれば、タイトルのビューのコピーを作ることができるかもしれないということです。私はそれが可能であることを確かに知らない。 – Samutz

6

私はこれが答えと古いスレッドです知っています。しかし、同じ質問があり、他の人のために:私たちは、タイトルバーを持っていると我々はカスタム1を行う必要はありません。この方法で

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
    Dialog dlg = super.onCreateDialog(savedInstanceState); 

    dlg.setTitle("Title"); 
    TextView titleTextView = (TextView) dlg.findViewById(android.R.id.title); 
    titleTextView.setGravity(Gravity.RIGHT | Gravity.CENTER_VERTICAL); 

    return dlg; 
} 

を。

関連する問題