一、顶部部门选中标题栏(部门面包屑)
1.使用水平滚动的ListView(HorizontalListView),代码搜索一下就能找到,
2.右监听可以使用符号文字>(代码:>),也可使用字体图标(IconTextView):
package widget;import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.widget.TextView;/*** 自定义字体图标** @author M.Z*/
public class IconTextView extends TextView {/** 控件在xml加载的时候是调用两个参数的构造函数 ,为了自定义的控件的完整性我们可以* 都把构造函数写出来*/public IconTextView(Context context) {super(context);init(context);}public IconTextView(Context context, AttributeSet attrs) {super(context, attrs);init(context);}public IconTextView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);init(context);}/*** 初始化** @param context*/private void init(Context context) {//设置字体图标,需要将iconfont.ttf放到assets目录Typeface font = Typeface.createFromAsset(context.getAssets(), "iconfont.ttf");this.setTypeface(font);}
}
iconfont可以在(iconfont-阿里巴巴矢量图标库) 找,iconfont.ttf文件放到assets文件夹下
二、下面是两个ListVIew,不能做成单独滑动,需要使用自定义InScrollListView:
package com.videogo.widget;import android.content.Context;
import android.util.AttributeSet;
import android.widget.ListView;/*** 自定义ListView,解决ScrollView中嵌套ListView显示不正常的问题** @author Administrator*/
public class InScrollListView extends ListView {public InScrollListView(Context context) {super(context);}public InScrollListView(Context context, AttributeSet attrs) {super(context, attrs);}public InScrollListView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);}/*** 重写该方法,达到使ListView适应ScrollView的效果*/@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);super.onMeasure(widthMeasureSpec, expandSpec);}
}
布局代码:
<ScrollViewandroid:id="@+id/dept_sv"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><com.videogo.widget.InScrollListViewandroid:id="@+id/dept_lv"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="12dp"android:divider="@color/common_bottom_line"android:dividerHeight="1px"android:listSelector="@drawable/transparent_selector"android:scrollbars="none" /><com.videogo.widget.InScrollListViewandroid:id="@+id/person_lv"android:layout_width="match_parent"android:layout_height="wrap_content"android:divider="@color/common_bottom_line"android:dividerHeight="1px"android:listSelector="@drawable/transparent_selector"android:scrollbars="none" /></LinearLayout>
</ScrollView>
因为ScrollView只能含包含一个子控件,所以在里面多写了一层LinearLayout