Feeling

    三人行,必有我师焉

   ::  :: 新随笔 :: 联系 ::  :: 管理 ::
  84 随笔 :: 0 文章 :: 392 评论 :: 0 Trackbacks
com\maxmpz\audioplayer\widget\listwrappers\D800DC00 这个package 主要用于 PlayList 模型的操作。

com\maxmpz\audioplayer\widget\listwrappers\D800DC00\D803DC04.java

里面有个
    private static int D801DC01(Activity activity, int i)
    {
        TypedArray typedarray 
= activity.obtainStyledAttributes(null, com.maxmpz.audioplayer.j.true.p, 00);
        
int j = typedarray.getResourceId(i, 0);
        typedarray.recycle();
        
return j;
    }

Context.obtainStyledAttributes 实现控件属性与XML定义绑定的代码。 

TypedArray其实就是一个存放资源的Array,首先从上下文中获取到R.styleable。。。这个属性资源的资源数组。 attrs是构造函数传进来,应该就是对应attrs.xml文件。 a.getString(R.styleable。。。);这句代码就是获取attrs.xml中定义的属性,并将这个属性的值传给本控件的mValue.最后,返回一个绑定结束的信号给资源:a.recycle();绑定结束

相关学习文章:
http://blog.csdn.net/aomandeshangxiao/article/details/7449973

com.maxmpz.audioplayer.widget.listwrappers.0xE9 这个类,用于显示文件夹列表,右上方有2个自定义的RadioButton,用来设置是平铺模式显示还是层级显示。
定义了一个ID为:flat_hier_group 的RadioGroup,里面有个2个自定义的RadioButton。

<RadioGroup android:gravity="right" android:orientation="horizontal" android:id="@id/flat_hier_group" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true"
  xmlns:android
="http://schemas.android.com/apk/res/android">
    
<RadioButton android:id="@id/flat_folders_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="0.0dip" android:button="@drawable/matte_flat_folders_selector" />
    
<RadioButton android:id="@id/hier_folders_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="-8.0dip" android:button="@drawable/matte_hier_folders_selector" />
</RadioGroup>

matte_flat_folders_selector的XML定义为:
 

<selector
  
xmlns:android="http://schemas.android.com/apk/res/android">
    
<item android:state_checked="true" android:drawable="@drawable/matte_flat_folders_selected" />
    
<item android:state_checked="false" android:drawable="@drawable/matte_flat_folders" />
</selector>

自定义的RadioButton实际上就是张背景透明的图片罢了。


播放器列表的Layout布局文件为 list_with_big_header.xml。

里面有个android:ellipsize属性:
EidtText和textview中内容过长的话自动换行,使用android:ellipsize与android:singleine可以解决,使只有一行。EditText不支持marquee

关于android:ellipsize属性更详细的文章:http://www.cnblogs.com/chiao/archive/2011/08/20/2147250.html


里面还有个 android:textAppearance 属性,这里涉及到了Android的theme和style设置了,更详细的文章参见:http://jiayanjujyj.iteye.com/blog/1392541
posted on 2012-05-23 11:59 三人行,必有我师焉 阅读(328) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: