tools只在预览的时候使用编译的时候是不进行编译的
xmlns:tools="http://schemas.android.com/tools"
tools:src="@mipmap/pic10"/>
tools:text="怪气无语 第一季"/>
android:layout_gravity="bottom|center_horizontal"
EditText
默认不获取焦点
//给父view添加此属性
android:focusable="true"
android:focusableInTouchMode="true"
去除下划线
android:background="@null"
使得文字在左上角
android:gravity="top"
控制光标颜色
android:textCursorDrawable="@null"
//"@null"作用是让光标颜色和textcolor一样
editText中设置android:textCursorDrawable="@drawable/ic_png"也可以更换光标
hint进行换行
添加\n
设置是否可编辑
mEtName.setFocusableInTouchMode(isEdit);
设置hint
searchText.setHint(getResources().getText(R.string.edit_notice_on));
EditText监听回车键
http://www.jianshu.com/p/07d103339889
TextView设置
代码中设置删除线,加粗,下划线
//添加删除线
txt1.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
//在代码中设置加粗
txt2.getPaint().setFlags(Paint.FAKE_BOLD_TEXT_FLAG);
//添加下划线
txt3.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
布局文件中设置删除线,加粗,下划线
//设置加粗
android:textStyle="bold"
//设置斜体字
android:textStyle="italic"
//设置斜体加斜体字
android:textStyle="italic|bold"
换行
rb_zuotian.setText("第一行"+"\n"+"第二行");
部分文字有不同颜色的实现
"<font color=\"#ff0000\">" +"20" + "</font>/"
Android中TextView中部分文字有不同颜色的实现
SpannableString与SpannableStringBuilder
ListView
隐藏右侧滚动条
默认情况:活动(滚动)时显示,不活动时隐藏。
代码中设置
setVerticalScrollBarEnabled(boolean b);
//设置true时: 存在滚动条
//设置false时: 隐藏滚动条
setScrollbarFadingEnabled(boolean b);
//设置true时: 活动时显示滚动条,不活动时隐藏滚动条
//设置false时: 活动和不活动时,均显示滚动条。
**布局中设置
//对应setVerticalScrollBarEnabled(false)
android:scrollbars="none"
//对应setScrollbarFadingEnabled(false)
android:fadeScrollbars="false"
上述都是关于ListView的普通的滚动条设置,然而ListView还存在快速滚动条:
setFastScrollEnabled(boolean b)进行设置:
当设置true时:显示快速滚动条,此时需注意,无论普通滚动条如何设置,都将显示快速滚动条
当设置false时:隐藏快速滚动条。
综上所述:要时ListView右侧无滚动条需要禁用普通的滚动条及快速滚动条
mListView.setVerticalScrollBarEnabled(false);
mListView.setFastScrollEnabled(false)
listview点击监听器onItemClick四个参数的含义
X, Y两个listview,X里有1,2,3,4这4个item,Y里有a,b,c,d这4个item
AdapterView parent 用来判断是哪个listview
View view 是item的view的句柄,可以id获得相应item中的控件
int positionposition是item在listview适配器里的位置,item的索引
long id id---我简单尝试了=0
//position item的索引(头/脚布局也算)
//id 一直是0
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//区分点击的是哪个listview
switch (parent.getId()) {
case R.id.lv_top:
//获取到item中的某个控件
TextView viewById = (TextView) view.findViewById(R.id.tv_top2);
viewById.setText("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
break;
case R.id.lv_bottom:
TextView te = (TextView) view.findViewById(R.id.tv_bottom2);
te.setText("wwwwwwwwww");
break;
}
}
平滑滚动
// 滚到最下面(当前集合大小减1) 此方法不能两次执行间隔太短,这是个动画,准备时间挺长
listview.smoothScrollToPosition(mInfos.size() - 1)
设置分割线
代码中
listview.setDivider(new ColorDrawable(Color.GRAY));
listview.setDividerHeight(1);
布局中
android:divider="#CECBCE"
android:dividerHeight="2dp"
添加头布局和脚布局
TextView textView = new TextView(context);
textView.setText("我是头");
lv_newsitem_newslist.addHeaderView(textView);
TextView textView2 = new TextView(context);
textView2.setText("我是脚");
lv_newsitem_newslist.addFooterView(textView2);
定义状态选择器
android:listSelector="@drawable/item_style_selector"
多条目展示
返回当前ListView的条目类型个数getViewTypeCount
返回当前条目的类型-根据当前条目位置--重写getItemViewType
根据当前条目位置,获取条目的类型
根据条目类型创建不同的布局—getview
class NewsAdapter extends BaseAdapter {
@Override
public int getCount() {
return newsData.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
//重写getViewTypeCount返回当前ListView的条目类型个数
@Override
public int getViewTypeCount() {
return 2;
}
//重写getItemViewType根据当前条目位置,返回当前条目的类型
//返回值必须在范围内 0~getViewTypeCount-1
@Override
public int getItemViewType(int position) {
int result = 0;
// 获取当前条目数据
String type = newsData.get(position).type;
// 因为有的时候返回的不是我们想要的数据,因此需要判断一下
if (type.equals("0")) {// 当前条目是一张图片的样式
result = 0;
} else if (type.equals("1")) {// 当前条目是三张图片的样式
result = 1;
}
return result;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// 根据当前条目位置,获取条目的类型
// 根据条目类型创建不同的布局
return convertView;
}
}
//根据不同 的数据返回对应的条目类型
// 根据当前条目位置,返回当前条目的类型
// 返回值必须在范围内 0 ~getViewTypeCount-1
@Override
public int getItemViewType(int position) {
int result = 0;
// 获取当前条目数据
String type = newsData.get(position).type;
//因为有的时候返回的不是我们想要的数据,因此需要判断一下
if (type.equals("0")) {// 当前条目是一张图片的样式
result = 0;
} else if (type.equals("1")) {// 当前条目是三张图片的样式
result = 1;
}
return result;
}
获取资源文件内容
color
getResources().getColor(int color);//方法已经过时
ContextCompat.getColor(int color);//推荐使用