我想设置一些统一的Style样式,到需要用到的View里使用,但不单是XML布局的时候用,我想代码里也能套用到。比如现在想实现一个功能,场景如下:
有两个用户组(假设只有两个),分别是普通用户,VIp用户
他们进入同一个Activity的时候,我分别给他们new 一个View ,分别是ViewA 和 ViewB
然后套用样式(这样我就可以简化很大部分的代码)
如果是在xml里配置的话,我需要配置两个View在里头,里面设置Visibliy为GONE
但这样的话,当我加载这个布局文件的时候,是不是意味这个Activity会为用户new 两个View(ViewA and ViewB)
这样的话识不是有一个是多余的开销。如果是以代码的形式我可以根据不同用户分别new 一个View 这样就可以减少一些开销(如果new 两个,假设我每一个View要初始化的内容很大,而且都是不相同的内容!那么开销就很可观了)不知道我对这个理解有没有错!

解决方案 »

  1.   

    gone的view,你可以当它不存在,不会去加载里面需要的资源的默认2个View都是gone,启动时,判断是否为VIP.决定把哪个view设置为 VISIBLE
      

  2.   

    我也很想知道怎么动态设置Style! 
      

  3.   

    做2个的话,适应性强,
    如果不同用户,只是某些背景不同,或者是字体颜色之类的,可以考虑用Style样式每个View的子类,都包含一个带 style 参数的构造函数,你只要调用这个函数就行了public View(Context context, AttributeSet attrs, int defStyle)