小代码的积累

1.textview 的特性
textview的横杠 :tv.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG );
textview的下划线:tv .getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG );
html
String htmlLinkText= " http://www.baidu.com/>>我的CSDN博客 ";
tv.setText(Html.fromHtml(htmlLinkText));
2.gradle的详情修改:
当前版本设置为 classpath 'com.android.tools.build:gradle:2.1.2'这是当前版本; 可以在5.0以上运行
classpath 'com.android.tools.build:gradle:2.0.0' 修改后: 在4.0以上运行
3.android中的单任务模式
限制在任务重的任何时刻,只有一个activity只有一个实例在运行,
activity的属性android:launchMode="singleInstance"
进一步限制所有activity只有一个实例在运行
android:launchMode="singleTask"
设置重启程序后返回关闭之前的状态
android:alwaysRestainTaskState="true"
2016/7/26
误删了工程文件,好在android studio有文件恢复功能。
右键点击工程-->local history-->show history 即可找回文件。

https://github.com/saiwu-bigkoo/Android-PickerView 三级分类地址联动

2016/7/27

对于application的使用,当局有数据请求时,需要重写application,并在清单文件中进行赋值。

2016/7/28
对于httpclient过时的操作,在gradle中
android {
useLibrary 'org.apache.http.legacy'
}
2016/7/29
如果你不犯错,永远不会知道对的在哪里。
构造方法,掺入参数
adapter中,当获取不到参数时,定义方法中参数 set(position) ----》实现 set(int o);即可获取当前的position。
2016/8/1
/*
* 唯一的设备ID:
* GSM手机的 IMEI 和 CDMA手机的 MEID.
* Return null if device ID is not available.
/
final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
final String tmDevice, tmSerial, androidId;
//设备id
tmDevice = "" + tm.getDeviceId();
/

* Returns the ISO country code equivalent for the SIM provider's country code.
* 获取ISO国家码,相当于提供SIM卡的国家码。
*
*/
tmSerial = "" + tm.getSimSerialNumber();
// 唯一标识码这东西在网络应用中非常有用,例如检测是否重复注册之类的。
androidId = "" + android.provider.Settings.Secure.getString(getContentResolver(),
android.provider.Settings.Secure.ANDROID_ID);
2016/8/2
//计时器
继承CountDownTimer类,重写onTick(),OnFinish(); 创建构造方法(相当于接口)。
2016/8/3
//自定义view
* 自定义view的几个步骤:
* 1、首先需要写一个类来继承自View
* 2、需要得到view的对象,那么需要重写构造方法,其中一参的构造方法用于new,二参的构造方法用于xml布局文件使用,
三参的构造方法可以传入一个样式
* 3、需要设置view的大小,那么需要重写onMeasure方法
* 4、需要设置view的位置,那么需要重写onLayout方法,但是这个方法在自定义view的时候用的不多,原因主要在于view的位置主要是由父控件来决定
* 5、需要绘制出所需要显示的view,那么需要重写onDraw方法
* 6、当控件状态改变的时候,需要重绘view,那么调用invalidate();方法,这个方法实际上会重新调用onDraw方法
* 7、在这其中,如果需要对view设置点击事件,可以直接调用setOnClickListener方法

//实现注册登录分段  (login|regist)
android UISegmentControl 高仿ios控件

2016/8/4
//自定义View ——shape属性

2016/8/5
//冰箱装大象
面向对象:冰箱需要有三个方法,开门,关门,装大象;
面向过程:是我们第一步去开门 第二步把大象放进去 第三步是关门 他们都不是同一个发出来的
//区别 :
面向过程 我们关注的就是一个个的动作
面向对象 我们才会把注意力放到冰箱上去

问:你看不到香烟上写着吸烟有害健康么? 为什么还一直抽?  
答:我是程序猿
问:这和你是程序猿有什么关系
答:我们只关心error  从来不在意警告
//progressbar的自定义
http://blog.csdn.net/vipzjyno1/article/details/23696537

2016/8/10
昨天七夕,单身汪的我痛苦了一天,最终日记也忘记写了,发誓要努力搬砖,争取下个七夕找到女票,
搭了两天界面,今天发现切换图片都不会,记录下吧!
//属性动画

2016/8/20
每天都是平平淡淡的。
未完成任务:
同界面的传参问题

    产品详情数据结构 需要修改

    大椎界面 数据类型 需要修改  

2016/8/22
简单的
九度 设置
宝典 三个界面 (2 中的adapter)

2016/8/25
黑马 https://yunpan.cn/cPLYqy8MVrGtx 访问密码 d16a
2016/8/31
15300289473 beijing
http://163.fm/X7cMnJC
2016/9/1
private boolean ischecked;

    public boolean ischecked() {
        return ischecked;
    }

    public void setIschecked(boolean ischecked) {
        this.ischecked = ischecked;
    }
    public boolean getIschecked(){return ischecked;}

2016/9/9
ratingbar 的缩小
style="?android:attr/ratingBarStyleSmall"
2016/9/20
for循环删除
for (int j = 0 ; j < lsitId.size(); j++){
for ( int k=lsitId.size(); k>j; k--){
if(lsitId.equals(lsitId.get(k))){
lsitId.remove(k);
}
}
}
2016/9/21
对listview的测量
public void setListViewHeightBasedOnChildren(ListView listView) {
// 获取ListView对应的Adapter
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) { return; }
int totalHeight = 0;
for (int i = 0, len = listAdapter.getCount(); i < len; i++) {
// listAdapter.getCount()返回数据项的数目
View listItem = listAdapter.getView(i, null, listView);
// 计算子项View 的宽高
listItem.measure(0, 0);
// 统计所有子项的总高度
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
}
2016/9/23

/*** popuwindow 的黑屏显示 取消  ***/
// mMenuView添加OnTouchListener监听判断获取触屏位置如果在选择框外面则销毁弹出框
    mMenuView.setOnTouchListener(new OnTouchListener() {

        @Override
        @SuppressLint("ClickableViewAccessibility")
        public boolean onTouch(View v, MotionEvent event) {

            int height = mMenuView.findViewById(R.id.pop_layout).getTop();
            int y = (int) event.getY();
            if (event.getAction() == MotionEvent.ACTION_UP) {
                if (y < height) {
                    dismiss();
                }
            }
            return true;
        }
    });
    // 设置背景颜色变暗
             WindowManager.LayoutParams lp = ((AmendActivity)context).getWindow().getAttributes();
             lp.alpha = 0.5f;
            ((AmendActivity)context).getWindow().setAttributes(lp);
             this.setOnDismissListener(new OnDismissListener() {
                             @Override
                     public void onDismiss() {
                             WindowManager.LayoutParams lp = ((AmendActivity)context).getWindow().getAttributes();
                             lp.alpha = 1f;
                                 ((AmendActivity)context).getWindow().setAttributes(lp);
                         }
                 });

2016/10/9
对于多个选中一个;
view view;

if(view != null){
    view.setseleted(flase);
}
在选中位置
view = holder.view;(进行状态保存)

2016/10/14
强制隐藏软键盘
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏软键盘
2016/10/17

 a。http://jiudu.jbserver.me/apicore/index/guanyu
webView.loadDataWithBaseURL(null, description, "text/html", "utf-8", null);
    tv1.setText(aboutData.getData().getDescription()+"");
 b.textview 显示html
xgbaijianWeb.setText(Html.fromHtml(xgFenleiData.getData().getSummarize()));

2016/11/8
listview onitemclick() 多选一
view = (TextView)((ViewGroup)view).getChildAt(0);
view.setSelected(true);
if(jj!= 999){
((ViewGroup)getViewByPosition(jj,(ListView) parent)).getChildAt(0).setSelected(false);
}
jj = position;

public View getViewByPosition(int pos, ListView listView) {
//获取第一次显示的位置
final int firstListItemPosition = listView.getFirstVisiblePosition();
// 第一次显示位置 + count(从1)- 1
final int lastListItemPosition = firstListItemPosition + listView.getChildCount() - 1;
//位置小于第一次位置 pos 大于最后一次位置
if (pos < firstListItemPosition || pos > lastListItemPosition ) {
//就返回
return listView.getAdapter().getView(pos, null, listView);
} else {
// 子类的下标 = pos - 第一次位置
final int childIndex = pos - firstListItemPosition;
// 返回 并查找这个下标
return listView.getChildAt(childIndex);
}
}
2016/11/22
spinner
从底部弹出 android:overlapAnchor="false"

2016/11/23
Android 6.0 权限
http://blog.csdn.net/qq_34767498/article/details/51814669
2017/7/10
图片蒙层效果
android:background="#55000000"

2018/8/21
底部布局跟随软件盘移动效果
https://blog.csdn.net/i_do_can/article/details/52764813

你可能感兴趣的:(小代码的积累)