2017.7.5细碎知识点整理

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());





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值