2012-05-11 9 views
0

私はこのことに夢中になります...なぜこのセンターではないでしょうか?私はほぼすべてのセンタリングオプションを組み合わせて試してみましたが、テキストとパスワードのフィールドは中心になりません!それは私がここで基本的なコールモトローラバグなぜこれがセンタリングしないのですか

Dialog dialog = new Dialog(this); 
dialog.setContentView(R.layout.preference_dialog); 
dialog.setTitle(getResources().getText(R.string.stringLoginTitle)); 
dialog.setCancelable(true); 
dialog.show(); 

との対話は、ダイアログのレイアウトはEclispe

でどのように見えるかで呼び出す

... myTouchの4Gが、アル私のMotorola電話のようなその行為に正常に動作します

ここでは、ダイアログとして表示されたときの様子を示します。

enter image description here

ダイアログレイアウトXML

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_centerHorizontal="true" 
android:gravity="center" android:layout_gravity="center"> 

<TextView 
    android:id="@+id/tv_LoginTitle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:text="@string/stringLoginPassword" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:gravity="center" /> 


<EditText 
    android:id="@+id/et_AdminPassword" 
    android:layout_width="120dip" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_below="@+id/tv_LoginTitle" 
    android:inputType="textPassword" > 

    <requestFocus /> 
</EditText> 

<Button 
    android:id="@+id/btn_AdminOkay" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/et_AdminPassword" 
    android:layout_alignLeft="@+id/et_AdminPassword" 
    android:text="Login" /> 

<Button 
    android:id="@+id/btn_AdminCancel" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/et_AdminPassword" 
    android:layout_alignRight="@+id/et_AdminPassword" 
    android:text="Cancel" /> 

</RelativeLayout> 

答えて

1

モトローラのすべての携帯電話でこれを見ましたが、X2、Razr ... Motorolaのスタイルのバグであるようです。

私は\データ\ resが\描画可能-hdpi、私の引き出し可能に置くアンドロイド-10 \私\アンドロイド-SDKの\プラットフォームから自分のスタイルやコピーpanel_backgroundを作成することによって、それを修正。 @android:drawable/panel_backgroundを使ってEclipseを参照すると、Eclipseはコンパイルされません。

のstyles.xml

<style name="Theme.CustomDialog" parent="@android:style/Theme.Dialog"> 
    <item name="android:windowBackground">@drawable/panel_background</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> 
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> 
</style> 

それからちょうどテーマパラメータでダイアログを呼び出すには、

Dialog dialog = new Dialog(this, R.style.Theme_CustomDialog); 

あり、固定モトローラの問題を追加しました!

0

に私は私がのLinearLayoutを使用していたのと同じレイアウトをしなければならなかった場合は...

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:orientation="vertical" 
       android:gravity="center" android:layout_gravity="center"> 

    <TextView 
      android:id="@+id/tv_LoginTitle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:text="@string/stringLoginPassword" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:gravity="center" /> 


    <EditText 
      android:id="@+id/et_AdminPassword" 
      android:layout_width="120dip" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:inputType="textPassword" > 

     <requestFocus /> 
    </EditText> 
    <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal" 
        android:gravity="center" android:layout_gravity="center"> 
    <Button 
      android:id="@+id/btn_AdminOkay" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="Login" /> 

    <Button 
      android:id="@+id/btn_AdminCancel" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="Cancel" /> 
    </LinearLayout> 
</LinearLayout> 
+0

これを試して、動作するかどうかを確認します。 – JPM

+0

Nopeは機能せず、コードを直接コピーして貼り付けました。 – JPM

+0

私は自分の電話で自分のコードを試してみましたが、すべてが中心に整列しています..期待どおりに 奇妙な!! – Tarun

0

RelativeLayoutは、XMLプロパティアンドロイドを持っている。layout_alignCenter最初のテキストビューでそれを試し、残りの部分をテキストビューに揃えることができます。

+0

すでにOS/Phone固有の問題は... MyTouch 4Gではうまく動作しますが、Motorolaの携帯電話ではうまくいきません。 – JPM

+0

うわー。申し訳ありませんが私はより多くの助けができませんでした。 – Barak

+0

モトローラはダイアログのスタイルを乱しているようですが、それを上書きする必要があります... – JPM

関連する問題