【发布时间】:2013-08-21 22:09:35
【问题描述】:
有没有办法在它的 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);
}
【问题讨论】:
-
哪一部分不起作用?
this.setOnClickListener(this)你不能在自定义类的构造函数中设置监听器吗? -
不... setMaxLines 没有被调用.. 那是我的主要问题..
标签: android android-layout textview android-custom-view