android新手,搞不清楚xml设置属性和代码设置属性的关系比如系统的Theme.Panel的设置:
<style name="Theme.Panel">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowAnimationStyle">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:backgroundDimEnabled">false</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowNoTitle">true</item>
    </style>WindowIsFloating 该属性在sdk目录的platforms\android-16\data\res\values\attrs.xml 中列出的,但在android窗口类代码中没有发现该属性。请问这种属性能否在代码中动态的进行设置?比如运行后设置WindowIsFloating = fasle;
如何得到android.R.attr 类中的各个在xml文件中可以配置的属性,对应的纯代码设置方法?这些xml文件中可以设置的属性,和通常代码定义的类的可以直接设置的属性,有啥关系?

解决方案 »

  1.   

    这些xml文件中可以设置的属性,和通常代码定义的类的可以直接设置的属性应该是相同的。在窗口类可能有些属性没有,只是有一些经常用的属性layout_width,layout_height等等。
      

  2.   


    随便看了几个,好像View基本能对的上,源码里也有相关函数对应xml属性的关系说明。
    那窗口类直接可以设置的xml属性,要想达到同样的效果,代码如何动态设置?为什么不提供xml属性对应的代码属性呢?举个例子,随便看个xml的属性定义:
    <declare-styleable name="AlertDialog">
            <attr name="fullDark" format="reference|color" />
            <attr name="topDark" format="reference|color" />
            <attr name="centerDark" format="reference|color" />
            <attr name="bottomDark" format="reference|color" />
            <attr name="fullBright" format="reference|color" />
            <attr name="topBright" format="reference|color" />
            <attr name="centerBright" format="reference|color" />
            <attr name="bottomBright" format="reference|color" />
            <attr name="bottomMedium" format="reference|color" />
            <attr name="centerMedium" format="reference|color" />
            <attr name="layout" />
            <attr name="listLayout" format="reference" />
            <attr name="multiChoiceItemLayout" format="reference" />
            <attr name="singleChoiceItemLayout" format="reference" />
            <attr name="listItemLayout" format="reference" />
            <attr name="progressLayout" format="reference" />
            <attr name="horizontalProgressLayout" format="reference" />
        </declare-styleable>类似topDark这样的xml属性,代码如何设置同样的效果?为什么不提供这种便利性?