`
喧嚣求静
  • 浏览: 589835 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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;
	}

 

分享到:
评论

相关推荐

    Android仿照苹果界面,手写的计算器

    开发者会在`onClick()`方法中编写计算逻辑,例如将数字添加到当前显示的值,或者执行加、减、乘、除等运算。此外,还需处理特殊按钮,如"="、"C"、"."等,它们对应着不同的操作。 对于计算逻辑,开发者可能使用了`...

    Android开发Color资源文件下载

    这个压缩包提供的colors.xml文件包含大量预定义的颜色,可以帮助开发者快速选择和使用适合的颜色,无需每次都手动编写颜色代码。这对于保持应用的色彩一致性、提升用户体验以及减少开发工作量都非常有帮助。 此外,...

    单行横向滑动的日历

    如果不想从头开始编写所有代码,可以考虑使用现成的第三方库,如`androidx.recyclerview.widget.LinearLayoutManager`和`androidx.recyclerview.widget.ItemDecoration`,或者专门的日历库如`android-week-view`等...

    仿网易新闻导航条 带文字滚动变色

    - 使用Android Studio作为开发环境,它是Google提供的官方集成开发环境(IDE),用于编写Java或Kotlin代码来构建Android应用。 - 对于Android布局的理解,包括XML布局文件的编写,这里会用到`LinearLayout`、`...

    Xamarin.Forms.AccentColor:在 Android 上打造 Xamarin.Forms 应用的品牌

    Xamarin.Forms提供了一个跨平台的解决方案,允许开发者用C#编写一次代码,就能在iOS、Android和Windows等平台上运行。本篇文章将深入探讨如何在Android平台上利用Xamarin.Forms的`AccentColor`属性来实现应用的品牌...

    仿京东动态绘制Button按钮

    我们可以通过创建一个颜色选择器(`ColorStateList`)来改变按钮在不同状态(如按下、焦点等)下的颜色。这可以通过XML资源文件完成,或者在代码中动态构建。 5. **尺寸适配**: 按钮的尺寸可能需要随着商品的尺寸...

    HelloCompat:ContextCompat类方法的兼容性

    总之,ContextCompat类是Android开发中的一个重要工具,它帮助开发者解决因API差异导致的问题,让代码能够在广泛的Android设备上运行。通过理解和熟练运用ContextCompat,我们可以编写出更加健壮且兼容性良好的应用...

    高仿精仿美丽说滑动导航栏效果

    `Drawable`资源和`ColorStateList`可能会被用来创建动态的颜色效果,如导航栏颜色随着滑动而变化。 为了实现这些功能,开发者需要掌握以下关键技能: 1. 自定义View和ViewGroup:理解Android视图绘制机制,重写`...

Global site tag (gtag.js) - Google Analytics