gpt4 book ai didi

android - 设置 TextView 的背景以仅填充我的文本 - Java

转载 作者:搜寻专家 更新时间:2023-11-01 09:27:23 24 4
gpt4 key购买 nike

我对我的聊天 View 布局有疑问。

我的布局中有一些 TextView 。其中一些的 layout_width 等于 match_parent 并且 gravity 设置为 right。我的问题是:textview 的背景填满了 textview 可用的所有空间,而不仅仅是我在 textview 中的文本。如何设置我的 TextView 的背景以仅填充我的文本?

这是我列表的适配器:

    private class CommentAdapter extends ArrayAdapter<COMMENT> {

RelativeLayout listLayout;
RelativeLayout.LayoutParams paramsTxt;
RelativeLayout.LayoutParams paramsImg;

public CommentAdapter(Context context, ArrayList<COMMENT> comments) {
super(context, -1, -1, comments);
listLayout = new RelativeLayout(CommentPage.this);

paramsTxt = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);

paramsImg = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
paramsImg.height = width_square*7;
paramsImg.width = width_square*7;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

final ViewHolder holder;
COMMENT single_comment = null;
RequestOptions options = new RequestOptions();
options.centerCrop();

if (convertView == null) {
// if convertView is null
convertView = getLayoutInflater().inflate(R.layout.row_comment, parent, false);
holder = new ViewHolder();
// initialize views
holder.textView = convertView.findViewById(R.id.comment_text);
holder.imageView = convertView.findViewById(R.id.comment_image);
convertView.setTag(holder);
} else {
holder = (CommentPage.ViewHolder) convertView.getTag();
holder.imageView.setBackground(null);
}

single_comment = getItem(position);

if(single_comment.senderId.equals(myId)) {
holder.textView.setGravity(Gravity.RIGHT);
paramsTxt.setMargins(width_square*20,width_square*2,
width_square*5,width_square*2);
holder.textView.setBackgroundResource(R.drawable.bubble_right);
holder.textView.setLayoutParams(paramsTxt);
} else {
paramsTxt.setMargins(width_square*5,width_square*2,
width_square*20,width_square*2);
paramsImg.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
paramsTxt.addRule(RelativeLayout.RIGHT_OF, R.id.comment_image);
holder.imageView.setImageResource(R.drawable.default_profile);
holder.textView.setBackgroundResource(R.drawable.bubble_left);
paramsImg.setMargins(width_square*5,width_square*2,
0,width_square*2);
holder.imageView.setLayoutParams(paramsImg);
holder.textView.setLayoutParams(paramsTxt);
}

holder.textView.setText(single_comment.text);

return convertView;
}
}

chatview picture

在此先感谢您的帮助。

最佳答案

只需使用 "wrap_content" 而不是 "match_parent" 作为这些 TextView 的宽度。

:)

关于android - 设置 TextView 的背景以仅填充我的文本 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49706183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com