1. <legend id='RzMB4'><style id='RzMB4'><dir id='RzMB4'><q id='RzMB4'></q></dir></style></legend>
      <i id='RzMB4'><tr id='RzMB4'><dt id='RzMB4'><q id='RzMB4'><span id='RzMB4'><b id='RzMB4'><form id='RzMB4'><ins id='RzMB4'></ins><ul id='RzMB4'></ul><sub id='RzMB4'></sub></form><legend id='RzMB4'></legend><bdo id='RzMB4'><pre id='RzMB4'><center id='RzMB4'></center></pre></bdo></b><th id='RzMB4'></th></span></q></dt></tr></i><div id='RzMB4'><tfoot id='RzMB4'></tfoot><dl id='RzMB4'><fieldset id='RzMB4'></fieldset></dl></div>

        <bdo id='RzMB4'></bdo><ul id='RzMB4'></ul>

      <small id='RzMB4'></small><noframes id='RzMB4'>

      <tfoot id='RzMB4'></tfoot>

      Android 对话框 - 圆角和透明度

      时间:2023-08-31
    2. <i id='q1kwk'><tr id='q1kwk'><dt id='q1kwk'><q id='q1kwk'><span id='q1kwk'><b id='q1kwk'><form id='q1kwk'><ins id='q1kwk'></ins><ul id='q1kwk'></ul><sub id='q1kwk'></sub></form><legend id='q1kwk'></legend><bdo id='q1kwk'><pre id='q1kwk'><center id='q1kwk'></center></pre></bdo></b><th id='q1kwk'></th></span></q></dt></tr></i><div id='q1kwk'><tfoot id='q1kwk'></tfoot><dl id='q1kwk'><fieldset id='q1kwk'></fieldset></dl></div>

        <tbody id='q1kwk'></tbody>

      <small id='q1kwk'></small><noframes id='q1kwk'>

        <bdo id='q1kwk'></bdo><ul id='q1kwk'></ul>
        <legend id='q1kwk'><style id='q1kwk'><dir id='q1kwk'><q id='q1kwk'></q></dir></style></legend>

            <tfoot id='q1kwk'></tfoot>
                本文介绍了Android 对话框 - 圆角和透明度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                我正在尝试制作一个带有圆角的自定义 android 对话框.我目前的尝试给了我这个结果.

                I'm trying to make a custom android dialog with rounded corners. My current attempts have given me this result.

                如您所见,边角是圆角的,但白色边角仍然完好无损.

                As you can see, the corners are rounded, but it leaves the white corner still intact.

                下面是我放在drawable文件夹中的xml,用于创建带有圆角的红色边框的蓝色对话框.

                Below is the xml that I put in the drawable folder to create the blue dialog with the red border with the rounded corners.

                <?xml version="1.0" encoding="utf-8"?>
                <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
                    <item> 
                        <shape 
                            android:shape="rectangle">
                            <solid android:color="@color/transparent_black" />
                            <corners android:radius="@dimen/border_radius"/>
                        </shape>
                    </item>   
                    <item 
                        android:left="@dimen/border_width" 
                        android:right="@dimen/border_width"  
                        android:top="@dimen/border_width"
                        android:bottom="@dimen/border_width" >  
                
                        <shape android:shape="rectangle"> 
                            <solid android:color="@color/blue" />
                            <corners android:radius="@dimen/border_radius"/>
                        </shape>
                    </item>    
                </layer-list>
                

                下面是对话框的布局.

                <?xml version="1.0" encoding="utf-8"?>
                <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                style="@style/fill"
                android:orientation="vertical"
                android:layout_margin="@dimen/spacing_normal"
                android:padding="@dimen/spacing_normal"
                
                android:background="@drawable/border_error_dialog" >
                
                <RelativeLayout 
                    style="@style/block"
                    android:layout_gravity="center" >
                
                    <ImageView
                        android:id="@+id/imageView1"
                        style="@style/wrap"
                        android:layout_alignParentLeft="true"
                        android:layout_centerHorizontal="true"
                        android:contentDescription="@string/content_description_filler"
                        android:src="@drawable/ic_launcher" />
                
                    <TextView
                        android:id="@+id/textView1"
                        style="@style/error_text"
                        android:layout_centerVertical="true"
                        android:layout_toRightOf="@+id/imageView1"
                        android:text="@string/error_login" />
                
                </RelativeLayout>
                
                <Button
                    android:id="@+id/button1"
                    style="@style/wrap"
                    android:layout_gravity="center"
                    android:text="Button" />
                
                </LinearLayout>
                

                下面是我在其中创建对话框的 Activity.

                And below is the Activity in which I create the dialog.

                @Override
                protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_main);
                
                    Button b1 = (Button) findViewById(R.id.button1);
                    b1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {               
                            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
                
                            View child = getLayoutInflater().inflate(R.layout.dialog_custom_tom, null);
                            alertDialogBuilder.setView(child);
                
                            AlertDialog alertDialog = alertDialogBuilder.create();
                
                            alertDialog.show();
                        }
                    });
                }
                

                推荐答案

                我找到的唯一解决方案是这里.使用 Dialog 而不是 AlertDialog 并设置透明背景:
                dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
                因此,您不能使用构建器.但是,如果您遵循最佳准则,您也可以在 DialogFragment 的 onCreateDialog 回调中使用 new Dialog().

                The only solution I have found is here. Use Dialog instead of AlertDialog and set transparent background:
                dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
                Therefore you can't use the builder. But you can use new Dialog() also in onCreateDialog callback of DialogFragment if you follow to best guidelines.

                这也适用于姜饼.

                除了分层的可绘制对象之外,还可以使用 xml 元素 <stroke> 简化为一种形状.为边界.

                Besides the layered drawable can be simplified to one shape with xml element <stroke> for the border.

                这篇关于Android 对话框 - 圆角和透明度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:Android 进度对话框 下一篇:Android:进度对话框微调器不旋转

                相关文章

                最新文章

                <tfoot id='VOnMm'></tfoot>
                • <bdo id='VOnMm'></bdo><ul id='VOnMm'></ul>

                <small id='VOnMm'></small><noframes id='VOnMm'>

                1. <i id='VOnMm'><tr id='VOnMm'><dt id='VOnMm'><q id='VOnMm'><span id='VOnMm'><b id='VOnMm'><form id='VOnMm'><ins id='VOnMm'></ins><ul id='VOnMm'></ul><sub id='VOnMm'></sub></form><legend id='VOnMm'></legend><bdo id='VOnMm'><pre id='VOnMm'><center id='VOnMm'></center></pre></bdo></b><th id='VOnMm'></th></span></q></dt></tr></i><div id='VOnMm'><tfoot id='VOnMm'></tfoot><dl id='VOnMm'><fieldset id='VOnMm'></fieldset></dl></div>

                  <legend id='VOnMm'><style id='VOnMm'><dir id='VOnMm'><q id='VOnMm'></q></dir></style></legend>