开发中常用设置

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"+"第二行");

部分文字有不同颜色的实现

"" +"20" + "/"

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);//推荐使用

Android数据结构

存储金额金额,计算要用** BigDecimal**来进行精确的运算

你可能感兴趣的