关于AlertDialog的背景

以下是阅读源代码后发现的,如有错误本人在此道歉。

发现AlertDialog的背景属性很难找到具体什么情况使用那个,和机构。

关于AlertDialog的背景

AlertDialog分为四部分 。top、content、custom、bottom 是否使用bright 或者dark top 是 false topDark写死的 content 是mListView ,ture topBright,否则false dark custom 由mForceInverseBackground决定 ture topBright, false dark bottom 有button 时 true topBright 写死
<!--对应样式属性为-->
<style name="AlertDialog">
		<!-- 当没有设置title、listAdapter或者content、view(会应用为customPane)、Button 中任何一个时,使用full,否则其他情况都是拼出来-->
        <item name="fullDark">@android:drawable/popup_full_dark</item>
        <item name="fullBright">@android:drawable/popup_full_bright</item>
		
		
        <item name="topDark">@android:drawable/popup_top_dark</item>
        <item name="topBright">@android:drawable/popup_top_bright</item>
		<!-- 中间的背景content、 customeView都是 用的这个-->
        <item name="centerDark">@android:drawable/popup_center_dark</item>
        <item name="centerBright">@android:drawable/popup_center_bright</item>
		
        <item name="bottomDark">@android:drawable/popup_bottom_dark</item>
        <item name="bottomBright">@android:drawable/popup_bottom_bright</item>
		
		<!--当是bright 并且有buttons 时下面的背景,即适中
        <item name="bottomMedium">@android:drawable/popup_bottom_medium</item>
		
		
		<!--当前好像没有使用到这个属性 ,即有buttons 且有list时
        <item name="centerMedium">@android:drawable/popup_center_medium</item>


</style>

		
		
		   /* TODO: uncomment section below. The logic for this should be if 
643         * it's a Contextual menu being displayed AND only a Cancel button 
644         * is shown then do this.
645         */
646//        if (hasButtons && (mListView != null)) {
647            
648            /* Yet another *special* case. If there is a ListView with buttons
649             * don't put the buttons on the bottom but instead put them in the
650             * footer of the ListView this will allow more items to be
651             * displayed.
652             */
653            
654            /*
655            contentPanel.setBackgroundResource(bottomBright);
656            buttonPanel.setBackgroundResource(centerMedium);
657            ViewGroup parent = (ViewGroup) mWindow.findViewById(R.id.parentPanel);
658            parent.removeView(buttonPanel);
659            AbsListView.LayoutParams params = new AbsListView.LayoutParams(
660                    AbsListView.LayoutParams.FILL_PARENT, 
661                    AbsListView.LayoutParams.FILL_PARENT);
662            buttonPanel.setLayoutParams(params);
663            mListView.addFooterView(buttonPanel);
664            */
665//        }
<?xml version="1.0" encoding="utf-8"?>
<!--
/* //device/apps/common/res/layout/alert_dialog.xml
**
** Copyright 2006, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->

<com.android.internal.widget.WeightedLinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/parentPanel"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingTop="9dip"
    android:paddingBottom="3dip"
    android:paddingLeft="3dip"
    android:paddingRight="1dip"
    android:majorWeight="0.65"
    android:minorWeight="0.9">

    <LinearLayout android:id="@+id/topPanel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="54dip"
        android:orientation="vertical">
        <LinearLayout android:id="@+id/title_template"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center_vertical"
            android:layout_marginTop="6dip"
            android:layout_marginBottom="9dip"
            android:layout_marginLeft="10dip"
            android:layout_marginRight="10dip">
            <ImageView android:id="@+id/icon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="top"
                android:paddingTop="6dip"
                android:paddingRight="10dip"
                android:src="@drawable/ic_dialog_info" />
            <com.android.internal.widget.DialogTitle android:id="@+id/alertTitle"
                style="?android:attr/textAppearanceLarge"
                android:singleLine="true"
                android:ellipsize="end"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
        </LinearLayout>
        <ImageView android:id="@+id/titleDivider"
            android:layout_width="match_parent"
            android:layout_height="1dip"
            android:visibility="gone"
            android:scaleType="fitXY"
            android:gravity="fill_horizontal"
            android:src="@android:drawable/divider_horizontal_dark" />
        <!-- If the client uses a customTitle, it will be added here. -->
    </LinearLayout>

    <LinearLayout android:id="@+id/contentPanel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">
        <ScrollView android:id="@+id/scrollView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingTop="2dip"
            android:paddingBottom="12dip"
            android:paddingLeft="14dip"
            android:paddingRight="10dip">
            <TextView android:id="@+id/message"
                style="?android:attr/textAppearanceMedium"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="5dip" />
        </ScrollView>
    </LinearLayout>

    <FrameLayout android:id="@+id/customPanel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1">
        <FrameLayout android:id="@+android:id/custom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingTop="5dip"
            android:paddingBottom="5dip" />
    </FrameLayout>

    <LinearLayout android:id="@+id/buttonPanel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="54dip"
        android:orientation="vertical" >
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingTop="4dip"
            android:paddingLeft="2dip"
            android:paddingRight="2dip"
            android:useLargestChild="true">
            <LinearLayout android:id="@+id/leftSpacer"
                android:layout_weight="0.25"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:visibility="gone" />
            <Button android:id="@+id/button1"
                android:layout_width="0dip"
                android:layout_gravity="left"
                android:layout_weight="1"
                android:maxLines="2"
                android:layout_height="wrap_content" />
            <Button android:id="@+id/button3"
                android:layout_width="0dip"
                android:layout_gravity="center_horizontal"
                android:layout_weight="1"
                android:maxLines="2"
                android:layout_height="wrap_content" />
            <Button android:id="@+id/button2"
                android:layout_width="0dip"
                android:layout_gravity="right"
                android:layout_weight="1"
                android:maxLines="2"
                android:layout_height="wrap_content" />
            <LinearLayout android:id="@+id/rightSpacer"
                android:layout_width="0dip"
                android:layout_weight="0.25"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:visibility="gone" />
        </LinearLayout>
     </LinearLayout>
</com.android.internal.widget.WeightedLinearLayout>



        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值