2

场景: 我有一个主布局正在运行。单击“帮助”按钮后,会出现一个对话框我关闭帮助对话框主屏幕有 2 个按钮现在已损坏(它们的图形错误)

我附上了屏幕截图,其中包含现在不完整的按钮(坏按钮是“搜索联系人”和“呼叫”)。

问题很明显,我怎样才能在不影响主屏幕图形的情况下关闭对话框? 对话框消失后显示错误按钮的屏幕

主画面布局

<LinearLayout 
    xmlns:android           = "http://schemas.android.com/apk/res/android"
    android:layout_width    = "fill_parent"
    android:layout_height   = "fill_parent"
    android:paddingLeft     = "@dimen/general_logo_padding"
    android:paddingRight    = "@dimen/general_logo_padding"
    android:orientation     = "vertical"
    android:background      = "@drawable/login_background" >


        <!-- Logo -->
        <ImageView    
            android:id                  = "@+id/imgLogo"
            android:src                 = "@drawable/emobile_logo10"
            android:contentDescription  = "@string/login_imgdescriptor_logo"
            android:layout_width        = "fill_parent"
            android:layout_height       = "wrap_content"
            android:layout_marginTop    = "@dimen/callback_logo_margin"
            android:scaleType           = "fitStart" 
            android:layout_weight       = "0.1"/>


        <!-- Callback Fields -->
        <!-- Your Number -->
        <LinearLayout 
            xmlns:android               = "http://schemas.android.com/apk/res/android"
            android:layout_width        = "fill_parent"
            android:layout_height       = "wrap_content"
            android:orientation         = "horizontal" 
            android:layout_marginTop    = "@dimen/callback_yournumber_margin" 
            android:layout_weight       = "0.2">

            <TextView
                android:id              = "@+id/tvCBYournumber"
                android:layout_width    = "fill_parent"
                android:layout_height   = "wrap_content"
                android:text            = "@string/callback_btn_yournumber"
                android:textAppearance  = "?android:attr/textAppearanceMedium"
                android:textSize        = "@dimen/login_fields_text_size" 
                android:textColor       = "#F26A05" 
                android:layout_weight   = "6"/>

            <EditText 
                android:id                  = "@+id/etCBYourNumber"
                android:layout_height       = "wrap_content"
                android:layout_width        = "fill_parent"
                android:inputType           = "number"
                android:ellipsize           = "end"
                android:singleLine          = "true"
                android:minHeight           = "@dimen/edittext_min_height"
                android:background          = "@drawable/edittext_round_corners"        
                android:gravity             = "center"
                android:textAppearance      = "?android:attr/textAppearanceMedium"
                android:textSize            = "@dimen/login_fields_text_size" 
                android:layout_weight       = "4" />
        </LinearLayout>

        <!-- Connect To -->
        <LinearLayout 
            xmlns:android               = "http://schemas.android.com/apk/res/android"
            android:layout_width        = "fill_parent"
            android:layout_height       = "wrap_content"
            android:layout_marginTop    = "@dimen/callback_connectto_margin"
            android:orientation         = "horizontal" 
            android:layout_weight       = "0.2">

            <TextView
                android:id              = "@+id/tvCBConnectto"
                android:layout_width    = "fill_parent"
                android:layout_height   = "wrap_content"
                android:text            = "@string/callback_btn_connectto"
                android:textAppearance  = "?android:attr/textAppearanceMedium"
                android:textSize        = "@dimen/login_fields_text_size" 
                android:textColor       = "#F26A05" 
                android:layout_weight   = "6"/>

            <EditText 
                android:id                  = "@+id/etCBConnectTo"
                android:layout_height       = "wrap_content"
                android:layout_width        = "fill_parent"
                android:inputType           = "number"
                android:ellipsize           = "end"
                android:singleLine          = "true"
                android:minHeight           = "@dimen/edittext_min_height"
                android:background          = "@drawable/edittext_round_corners"        
                android:gravity             = "center"
                android:textAppearance      = "?android:attr/textAppearanceMedium"
                android:textSize            = "@dimen/login_fields_text_size" 
                android:layout_weight       = "4"/>
        </LinearLayout>

        <!-- Line of Buttons -->
        <LinearLayout 
            xmlns:android               = "http://schemas.android.com/apk/res/android"
            android:layout_width        = "fill_parent"
            android:layout_height       = "wrap_content"
            android:orientation         = "horizontal" 
            android:layout_marginTop    = "@dimen/callback_button_margin" 
            android:minHeight           = "@dimen/callback_button_height"
            android:layout_weight       = "0.1">

            <Button
                android:id                  = "@+id/btnCBSearchContacts"
                android:layout_width        = "fill_parent"
                android:layout_height       = "fill_parent"
                android:text                = "@string/callback_btn_searchcontacts" 
                android:textSize            = "@dimen/login_fields_text_size" 
                android:drawableLeft        = "@android:drawable/ic_menu_my_calendar"
                android:layout_weight       = "1" />

            <Button
                android:id                  = "@+id/btnCBCall"
                android:layout_width        = "fill_parent"
                android:layout_height       = "fill_parent"
                android:text                = "@string/callback_btn_call" 
                android:layout_marginLeft   = "@dimen/callback_button_margin_betweenbuttons"
                android:textSize            = "@dimen/login_fields_text_size" 
                android:drawableLeft        = "@android:drawable/ic_menu_call"
                android:layout_weight       = "1" />

        </LinearLayout>                        

        <RelativeLayout 
            xmlns:android               = "http://schemas.android.com/apk/res/android"
            android:layout_width        = "fill_parent"
            android:layout_height       = "fill_parent" 
            android:layout_weight       = "3">

            <Button
                android:id                      = "@+id/btnCBHelp"
                android:layout_width            = "wrap_content"
                android:layout_height           = "wrap_content"
                android:padding                 = "@dimen/callback_button_help_padding"
                android:text                    = "@string/callback_btn_help" 
                android:layout_centerInParent   = "true"
                android:textSize                = "@dimen/login_fields_text_size" 
                android:drawableLeft            = "@android:drawable/ic_menu_help" />
        </RelativeLayout>

</LinearLayout>
4

2 回答 2

0

嗯,我发现了问题。

似乎问题出在我用来创建按钮的库上,它处于非常早期的 Beta 阶段,并且由于某种原因导致了这个问题。

我正在使用 Pixate 库

我现在已经调整代码以使用 LayoutInflater(Parth Doshi 的想法 - 谢谢),而不是扩展 Dialog 我现在使用的是警报对话框(Md Abdul Gafur),使用这两种方法可以减少问题但不能解决它。

谢谢大家,柴维。

于 2012-10-24T09:23:41.400 回答
0

使用 AlertDialog 弹出新布局并查看 android文档

谢谢。

于 2012-10-23T09:17:45.627 回答