有没有办法如何更改我的自定义视图的子项的onmeasure(或onlayout,ondraw,我实际上不知道放在哪里:)
我有这个代码,它应该缩小我从LinearLayout继承的自定义布局中包含的textview,并为它添加一个onclicklistener。问题是,这根本不起作用..代码执行,但没有明显的效果。我还尝试在树中基本上所有视图调用invalidate:)
cardContent是附加到重写的LinearLayout的TextView .. 我不知何故觉得这是错误的,所以请帮助我。我不太了解在Android上编写自定义布局。谢谢!
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
if(cardContent.getLineCount() > 10){
this.setOnClickListener(this);
expandIcon.setVisibility(VISIBLE);
cardContent.setMaxLines(6);
expanded = false;
}
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
答案 0 :(得分:1)
您需要在致电前致电super.onMeasure(widthMeasureSpec, heightMeasureSpec)
TextView.getLineCount()
。否则它总是返回0.