我是Android新手,我正在开发一个与在线聊天相关的应用程序。在聊天屏幕中,我尝试将聊天框大小设置为文本视图大小。
当文字视图大小增加和减少时,如何增加和减少聊天框大小?
答案 0 :(得分:1)
将Relative Layout
身高设为wrap_content
以及textview
身高。
WRAP_CONTENT
,这意味着该视图要足够大以包含其内容。
答案 1 :(得分:1)
看到这个
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:weightSum="1.0"
android:layout_weight="1" android:layout_height="wrap_content">
<TextView android:id="@+id/lefttext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_marginTop="10dip"
android:layout_marginBottom="5dip"
android:layout_alignParentLeft="true"
android:maxWidth="250dip"/>
<TextView
android:id="@+id/righttext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_marginTop="10dip"
android:layout_marginBottom="5dip"
android:layout_alignParentRight="true"
android:maxWidth="250dip"/>
</RelativeLayout>
这是我的自定义数组适配器的getView方法中的代码:
View view = convertView;
if(view == null){
view = mInflater.inflate(R.layout.list_item, null);
}
Resources res = getContext().getResources();
Drawable bubblesChat = res.getDrawable(R.drawable.bubbles_chat);
Drawable bubblesResponse = res.getDrawable(R.drawable.bubbles_response);
TextView left = (TextView) view.findViewById(R.id.lefttext);
TextView right = (TextView) view.findViewById(R.id.righttext);
String txt = super.getItem(position);
if(txt.startsWith("s:")) {
left.setText(getItem(position));
left.setBackgroundDrawable(bubblesChat);
right.setText("");
right.setBackgroundDrawable(null);
} else {
right.setText(getItem(position));
right.setBackgroundDrawable(bubblesResponse);
left.setText("");
left.setBackgroundDrawable(null);
}
return view;
Alternate chat bubble widths 和http://warting.se/2012/06/04/chat-bubbles-in-android/
答案 2 :(得分:0)
您可以采用布局,最好是RelativeLayout
,每当TextView
尺寸增加或减少时,动态设置新的LayoutParams
即可刷新聊天视图。