
如果你问的是UILable的话你可以这样:
UILabel label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 21)];
if (label) {
// 设置文本内容
labeltext = @"aaaaaaaaaaaaa";
// 0代表不限制行数
[label setNumberOfLines:0];
// 因为行数不限制,所以这里在宽度不变的基础上(实际宽度会略为缩小),高度会自动扩充
[label sizeToFit];
[selfview addSubview:label];
[label release];
}
如果你问的是TextView的话直接把高度设置成wrap_content就可以了。希望可以帮到你
思路是:因为ViewHolder我们可以拿到每个Item的根布局,所以如果我们为根布局设置单独的OnClick监听并将其开放给Adapter,那不就可以在组装RecyclerView时就能够设置ItemClickListener,只不过这个Listener不是设置到RecyclerView上而是设置到Adapter。
我们首先看ViewHolder的代码:
public class MyViewHolder extends ViewHolder implements OnClickListener,OnLongClickListener{
public ImageView iv;
public TextView tv;
private MyItemClickListener mListener;
private MyItemLongClickListener mLongClickListener;
public MyViewHolder(View rootView,MyItemClickListener listener,MyItemLongClickListener longClickListener) {
super(rootView);
iv = (ImageView)rootViewfindViewById(Riditem_iv);
tv = (TextView)rootViewfindViewById(Riditem_tv);
thismListener = listener;
thismLongClickListener = longClickListener;
rootViewsetOnClickListener(this);
rootViewsetOnLongClickListener(this);
}
/
点击监听
/
@Override
public void onClick(View v) {
if(mListener != null){
mListeneronItemClick(v,getPosition());
}
}
/
长按监听
/
@Override
public boolean onLongClick(View arg0) {
if(mLongClickListener != null){
mLongClickListeneronItemLongClick(arg0, getPosition());
}
return true;
}
}</span>
因为在构造ViewHolder时,rootView将作为一个必传参数传递进来,所以我们只需要拿到rootView并给其绑定点击监听事件即可。
下面要考虑的就是怎样把listener传递进来。Demo中设定了监听点击事件的Interface:MyItemClickListener:
1
2
3
public interface MyItemClickListener {
public void onItemClick(View view,int postion);
}
MyItemClickListener模仿ListView的OnItemClickListener,开放了view和position两个参数,这对习惯使用ListView的开发者们使用起来更得心应手。从ViewHolder的代码中可以看到,执行onClick方法时会调用getPosition()将当前Item的位置回调给listener。getPosition()是ViewHolder的内置方法,可直接使用。
先获取TextView的padding的值,然后用固定高度或宽度减去padding就是文字所占的空间。
TextView tv = new TextView(this);
int top = tvgetPaddingTop();//有bottom,left,right,
int bottom = tvgetPaddingBottom();
假设固定高度为100,
那么自体高度所占空间应该是 100-(top+bottom)
以上就是关于如何自适应textview的高度全部的内容,包括:如何自适应textview的高度、如何获得RecyclerView中item的视图或者完整的高度、Android TextView宽度和高度固定,怎么根据显示的字符串来计算出字体的尺寸等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)