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; }
相关推荐
开发者会在`onClick()`方法中编写计算逻辑,例如将数字添加到当前显示的值,或者执行加、减、乘、除等运算。此外,还需处理特殊按钮,如"="、"C"、"."等,它们对应着不同的操作。 对于计算逻辑,开发者可能使用了`...
这个压缩包提供的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提供了一个跨平台的解决方案,允许开发者用C#编写一次代码,就能在iOS、Android和Windows等平台上运行。本篇文章将深入探讨如何在Android平台上利用Xamarin.Forms的`AccentColor`属性来实现应用的品牌...
我们可以通过创建一个颜色选择器(`ColorStateList`)来改变按钮在不同状态(如按下、焦点等)下的颜色。这可以通过XML资源文件完成,或者在代码中动态构建。 5. **尺寸适配**: 按钮的尺寸可能需要随着商品的尺寸...
总之,ContextCompat类是Android开发中的一个重要工具,它帮助开发者解决因API差异导致的问题,让代码能够在广泛的Android设备上运行。通过理解和熟练运用ContextCompat,我们可以编写出更加健壮且兼容性良好的应用...
`Drawable`资源和`ColorStateList`可能会被用来创建动态的颜色效果,如导航栏颜色随着滑动而变化。 为了实现这些功能,开发者需要掌握以下关键技能: 1. 自定义View和ViewGroup:理解Android视图绘制机制,重写`...