2011-07-31 5 views
0

私は簡単な電卓であるカスタムダイアログを作成しました。 Android 2.3.3のレイアウトに問題があります。ダイアログは2.2.1以下で完全な電卓をラップしますが、2.3.3では計算しません。下に、レイアウトのためのXMLコードと起こっている画像を掲載しました。そしてその下に、私がダイアログをどのように開始するかのコードがあります。すべての助けをありがとう!Android:Android 2.2.1と2.3.3で異なるレイアウトのカスタムダイヤル電卓

dialog on HTC thunderbold 2.2.1 http://img20.imageshack.us/img20/6981/htc221.png

dialog on droidX 2.3.3 http://img64.imageshack.us/img64/876/droidx233.png

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:gravity="center" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 
    <RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 
    <EditText 
     android:id="@+id/calc_dialog_display" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:editable="false" 
     android:clickable="false" 
     android:focusable="false" 
     android:cursorVisible="false" 
     android:gravity="right"  
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_width="238dp" 
     android:layout_height="wrap_content" /> 
    <EditText 
     android:id="@+id/calc_dialog_display_fake" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:visibility="invisible" 
     android:editable="false" 
     android:clickable="false" 
     android:focusable="false" 
     android:cursorVisible="false" 
     android:gravity="right"  
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_width="238dp" 
     android:layout_height="wrap_content" /> 
    <Button 
     android:id="@+id/enter_total" 
     android:text="@string/calc_dialog_enter_total_button" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/calc_dialog_display" 
     android:layout_alignParentLeft="true" 
     android:layout_width="180dp" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/all_clear" 
     android:text="AC" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:textColor="@color/all_clear_color" 
     android:layout_below="@id/calc_dialog_display" 
     android:layout_toRightOf="@id/enter_total" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/seven" 
     android:text="7" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/enter_total" 
     android:layout_alignParentLeft="true" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/eight" 
     android:text="8" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/enter_total" 
     android:layout_toRightOf="@id/seven" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/nine" 
     android:text="9" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/enter_total" 
     android:layout_toRightOf="@id/eight" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/division" 
     android:text="÷" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/enter_total" 
     android:layout_toRightOf="@id/nine" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/four" 
     android:text="4" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/seven" 
     android:layout_alignParentLeft="true" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/five" 
     android:text="5" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/seven" 
     android:layout_toRightOf="@id/four" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/six" 
     android:text="6" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/seven" 
     android:layout_toRightOf="@id/five" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/multiply" 
     android:text="x" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/seven" 
     android:layout_toRightOf="@id/six" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/one" 
     android:text="1" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/four" 
     android:layout_alignParentLeft="true" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/two" 
     android:text="2" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/four" 
     android:layout_toRightOf="@id/one" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/three" 
     android:text="3" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/four" 
     android:layout_toRightOf="@id/two" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/subtract" 
     android:text="-" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/four" 
     android:layout_toRightOf="@id/three" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/decimal" 
     android:text="." 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/one" 
     android:layout_alignParentLeft="true" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/zero" 
     android:text="0" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/one" 
     android:layout_toRightOf="@id/decimal" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/equals" 
     android:text="=" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/one" 
     android:layout_toRightOf="@id/zero" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" /> 
    <Button 
     android:id="@+id/addition" 
     android:text="+" 
     android:textSize="@dimen/calc_dialog_text_size" 
     android:layout_below="@id/one" 
     android:layout_toRightOf="@id/equals" 
     android:layout_width="@dimen/calc_dialog_button_width" 
     android:layout_height="@dimen/calc_dialog_button_height" />  
    </RelativeLayout> 
</RelativeLayout> 

@Override 
protected Dialog onCreateDialog(int id) { 
    super.onCreateDialog(id); 
    Dialog dialog = null; 

    switch(id){ 
    case 1: 
     dialog = new CustomCalcDialog(this, shippingPercent, QUICK_CALC_TRIGGER); 
     dialog.setTitle("Enter Shipping %"); 
     break; 
    case 2: 
     dialog = new CustomCalcDialog(this, taxPercent, QUICK_CALC_TRIGGER); 
     dialog.setTitle("Enter Tax Rate"); 
     break; 
    case 3: 
     dialog = new CustomCalcDialog(this, commissionPercent, QUICK_CALC_TRIGGER); 
     dialog.setTitle("Enter Commission %"); 
     break; 
    case 4: 
     dialog = new CustomCalcDialog(this, productSubtotal, QUICK_CALC_TRIGGER); 
     dialog.setTitle("Calculate Subtotal"); 
     break; 
    case 5: 
     dialog = new CustomCalcDialog(this, addShipping, QUICK_CALC_TRIGGER); 
     dialog.setTitle("Additional Shipping"); 
     break; 
    case 6: 
     dialog = new BackgroundOptionsDialog(this, quickCalcBackground); 
     dialog.setTitle("Choose Background:"); 
     break; 
    case 7: 
     dialog = new CustomCalcDialog(this, shippingDollar, QUICK_CALC_TRIGGER); 
     dialog.setTitle("Enter Shipping $"); 
     break; 
    } 
    return dialog; 
} 
+0

ためのおかげで計算小計ダイアログヘッダーということでしょうか?あなたはどのようにyorダイアログを作成していますか...そしてなぜ2つの相対レイアウトを持っていますか...それは何の違いもありません。 – Necronet

+0

私はちょうど私がどのようにダイアログを作成するの私のポストを更新しました。はい、計算小計がヘッダーです。ユーザーがダイアログを開始するためにクリックした内容に応じて、ヘッダーが変更されます。私は2つの相対レイアウトを持つ正当な理由はありません。私は何が起こるか見るために1つを取る。 – KevinM

+0

@Necronet ...私は余分な相対レイアウトを取り出し、それは違いはありませんでした。 – KevinM

答えて

0

OKをfill_parentするrelativelayoutの幅を設定してみてください。私は修正を見つけた。カスタムダイアログのonCreate()に以下のコードを挿入しました。背景が不透明であるので、nullにsetBackgroundDrawableを()設定

Window windowProperties = getWindow(); 
windowProperties.setBackgroundDrawable(null); 

はそれを作ります。これで問題は解決し、まだAndroidの下位バージョンでも機能します。

The Fixed Picture http://img827.imageshack.us/img827/5428/droidxfix233.png

すべてsuggestionos

0

+0

relativelayoutsの幅を埋めるように変更しました。 http://img32.imageshack.us/img32/3525/droidxwidthfill233.pngこれは、fill_parentの幅で起こっていることの選択へのリンクです。 – KevinM

+0

は、上位のrelativelayoutを取り出し、残りのrelativelayoutのlayout_gravityをcenter_horizo​​ntalに設定します。 –

+0

これは違いはありません。これらの変更でこのように見えます。http://img32.imageshack.us/img32/3525/droidxwidthfill233.png – KevinM