0

シンプルな計算機であるカスタムダイアログを作成しました。Android2.3.3のレイアウトに問題があります。ダイアログは、2.2.1以下では電卓を完全にラップしますが、2.3.3ではラップしません。以下に、その状況の写真とレイアウトのXMLコードを投稿しました。その下に、ダイアログの開始方法に関するコードがあります。すべての助けをありがとう!!!

HTCサンダーボールド2.2.1のダイアログ

droidX2.3.3のダイアログ

    <?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;
}
4

2 に答える 2

0

相対レイアウトの幅をfill_parentに設定してみてください

于 2011-08-01T00:24:18.683 に答える
0

わかった。修正を見つけました。カスタムダイアログのonCreate()に以下のコードを挿入しました。

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

setBackgroundDrawable()をnullに設定すると、背景が不透明になります。これにより問題が修正され、Androidの下位バージョンでも機能します。

固定画像

すべての提案をありがとう

于 2011-08-01T10:02:04.600 に答える