您的位置:首页 > 其它

2017.7.5细碎知识点整理

2017-07-06 12:54 99 查看
1.viewgroup的onDraw:

viewgroup默认是不调用自己的onDraw方法的,需要在初始化时设置:

setWillNotDraw(false);
而且viewgroup是画完自己之后再画子view,所以后来画的view会把原来的viewgroup画的覆盖掉,需要注意。

2.消除按钮自带边框:

按钮自带了一个灰色的边框,比较难看,设置样式去除:

style="?android:attr/borderlessButtonStyle"


3.颜色渐变样式:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#5ee0a4"
android:endColor="#54cfb6"
android:angle="270">
</gradient>

</shape>
重点在angle,角度,这里的270度是竖直方向的渐变。

4.输入框不唤醒键盘:

如果一个界面中有输入框,那么进入的时候回自动唤醒键盘,因为焦点给了输入框。可以在输入框前面设置一个不占空间的view,让它获取两个焦点就可以了。

把焦点给输入框的父布局是没用的,因为父布局还会交给他。

5.webview显示js内容:

webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webView.loadDataWithBaseURL(null, content, "text/html", "utf-8", null);


直接把js文本传入content就可以了。

6.输入框hint颜色设置:

android:textColorHint="@color/stringDark"


7.自定义Spinner的适配器:

我想让spinner子项根据条件显示绿色文本和非绿色,所以需要自定义。最简单的不是直接继承他的适配器,而是实现接口:

public class OrderAdapter extends BaseAdapter implements SpinnerAdapter {

private List<String> texts;
private List<Boolean> list;
private Context context;

public OrderAdapter(Context context,List<String> texts, List<Boolean> list) {
this.texts = texts;
this.list = list;
this.context = context;
}

@Override
public int getCount() {
return list.size();
}

@Override
public Object getItem(int i) {
return list.get(i);
}

@Override
public long getItemId(int i) {
return i;
}

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
TextView tv=new TextView(context);
tv.setText(texts.get(i));
if (list.get(i)){
tv.setTextColor(Color.GREEN);
} else {
tv.setTextColor(context.getResources().getColor(R.color.stringLight));
tv.setOnClickListener(null);
tv.setClickable(false);
}
return tv;
}
}


8.spinner设置显示的项:

spinner.setSelection(0);


9.文本框展开显示:

tvFee.setHeight(tvFee.getLineHeight()* tvFee.getLineCount());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: