--------------布局分割线--------------------
实现界面(layout,控件,按钮等)中的分隔线:
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:background="?android:attr/listDivider"
/>
--------------布局分割线--------------------
------------------------------ListView-------------------------
android组建自定义笔记:
在ListView滚动条自定义:
android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track"
android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb"
scrollbar_vertical_track,crollbar_vertical_thumb自定义的xml文件,放在Drawable中,track是指长条,thumb是指短条,然后再xml中定义短条和长条的样式
设置快速滚动属性很容易:
android:fastScrollEnabled="true"
android:focusable="true"
自定义ListView行间的分割线:
a、ListView中每个Item项之间都有分割线,设置android:footerDividersEnabled表示是否显示分割线,此属性默认为true。
b、改变ListView的分割线颜色和宽度,需要在布局中定义android:divider和android:dividerHeight属性。
如:使用属性android:divider="#FF0000"定义分隔符为红色,当然这里值可以指向一个drawable图片对象,如果使用了图片可能高度大于系统默认的像素,可以自己设置高度比如6个像素android:dividerHeight="6px"。
自定义的BaseAdapter中调用notifyDataSetChanged()方法会重新调用BaseAdapter的getView()方法。
用心的朋友应该会发现,listview中在设置了背景之后。会有些问题。
1.、listview在拖动的时候背景图片消失变成黑色背景。等到拖动完毕我们自己的背景图片才显示出来。
2 、listview的上边和下边有黑色的阴影。
3、lsitview的每一项之间需要设置一个图片做为间隔。
针对以上问题 在listview的xml文件中设置一下语句。
问题1 有如下代码结解决 android:scrollingCache="false"
问题2 用如下代码解决:android:fadingEdge="none"
问题3 用如下代码解决: android:divider="@drawable/list_driver" 其中 @drawable/list_driver 是一个图片资源
------------------------------ListView-------------------------
-----------------------TabWidget-------------------------------
要实现自定义TAB,无非是要实现以下三点:
1.TAB的主背景:在TabWidget配置文件里设置background属性便可
2.TAB的item视图:在代码里设置,setIndicator(View view)是关键
3.TAB的ITEM选择效果:TAB的ITEM选择效果则依赖 myTabHost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.selector_tab_background);
详情:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=146445
-----------------------TabWidget-------------------------------
-----------------------Spinner---------------------------------
在Android中Spinner就是下拉菜单,它相当于HTML中的<select>标签。
Android中提供的Spinner Widget下拉菜单已经非常好用了,样式也适用,
不过我们还是可以通过定义xml的方式来改变下拉菜单的样式。
l Spinner.getItemAtPosition(Spinner.getSelectedItemPosition());获取下拉列表框的值
l 调用setOnItemSelectedListener()方法,处理下拉列表框被选择事件,把AdapterView.OnItemSelectedListener实例作为参数传入
在layout目录下新建一个xml文件,名字随便(我这里叫myspinner.xml)。在这个文件里面可以定义下拉菜单的样式
我们这里采用TextView来实现
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="24sp"
android:singleLine="true"
style="?android:attr/spinnerDropDownItemStyle" />
在Activity中我们可以这样调用
private static final String[] countriesStr={"","","",""}
mySpinner = (Spinner) findViewById(R.id.mySpinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, countriesStr);
adapter.setDropDownViewResource(R.layout.myspinner_dropdown);
mySpinner.setAdapter(adapter);
利用自定义的xml我们就可以很灵活的来改变下拉菜单的样式。
另外andorid也提供了两种基本的样式
android.R.layout.simple_spinner_item:TextView的下拉菜单
android.R.layout.simple_spinner_dropdown_item:右边带有radio的下拉菜单
-----------------------Spinner---------------------------------