android代码编写ColorStateList

private void initViews() {

		subContent.removeAllViews();

		for (int i = 0; i < 5; i++) {

			LinearLayout lineLay = new LinearLayout(this);
			lineLay.setOrientation(LinearLayout.VERTICAL);
			LinearLayout.LayoutParams lineLayParams = new LinearLayout.LayoutParams(
					LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);

			lineLay.setPadding(getPix(6), getPix(6), getPix(6), getPix(6));

			if (i == 0) {
				lineLayParams.setMargins(getPix(80), 0, 0, 0);
			} else {
				lineLayParams.setMargins(getPix(200), 0, 0, 0);
			}

			for (int j = 0; j < 4; j++) {

				TextView tvSubject = new TextView(this);
				LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
						LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
				params.setMargins(0, getPix(7), 0, 0);

				tvSubject.setLayoutParams(params);
				tvSubject.setOnClickListener(this);
				tvSubject.setText("第0" + (j + 1) + "讲 M2U3 名词从句");

				Resources resource = (Resources) getBaseContext()
						.getResources();

				ColorStateList csl = (ColorStateList) resource
						.getColorStateList(R.color.videolist_text_selector);

				if (csl != null) {

					tvSubject.setTextColor(csl);// 设置按钮文字颜色

				}

				tvSubject.setCompoundDrawablePadding(getPix(6));
				tvSubject.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 22);// 22DIP
				Drawable drawable = getResources().getDrawable(
						R.drawable.video_normal);
				// / 这一步必须要做,否则不会显示.
				drawable.setBounds(0, 0, drawable.getMinimumWidth(),
						drawable.getMinimumHeight());
				tvSubject.setCompoundDrawables(drawable, null, null, null);

				tvSubject
						.setBackgroundResource(R.drawable.videolist_item_selector);

				lineLay.addView(tvSubject, j);
			}
			subContent.addView(lineLay, i);
		}
	}

	@Override
	public void onClick(View arg0) {
		// TODO Auto-generated method stub

	}

	private int getPix(int dp) {
		float scale = this.getResources().getDisplayMetrics().density;
		int px = (int) (dp * scale + 0.5f);

		return px;
	}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值