Android 即时通讯软件泡沫扩大
我正在开发和messenger应用程序,但聊天泡泡不合适。我正在使用9-patch.png图像。箭头也随着文本区域拉伸。有人能帮忙吗Android 即时通讯软件泡沫扩大,android,android-layout,android-listview,instant-messaging,livechat,Android,Android Layout,Android Listview,Instant Messaging,Livechat,我正在开发和messenger应用程序,但聊天泡泡不合适。我正在使用9-patch.png图像。箭头也随着文本区域拉伸。有人能帮忙吗 public class AwesomeAdapter extends BaseAdapter{ private Context mContext; private ArrayList<Message> mMessages; public AwesomeAdapter(Context context, ArrayList&
public class AwesomeAdapter extends BaseAdapter{
private Context mContext;
private ArrayList<Message> mMessages;
public AwesomeAdapter(Context context, ArrayList<Message> messages) {
super();
this.mContext = context;
this.mMessages = messages;
}
@Override
public int getCount() {
return mMessages.size();
}
@Override
public Object getItem(int position) {
return mMessages.get(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Message message = (Message) this.getItem(position);
ViewHolder holder;
if(convertView == null)
{
holder = new ViewHolder();
convertView = LayoutInflater.from(mContext).inflate(R.layout.sms_row, parent, false);
holder.message = (TextView) convertView.findViewById(R.id.message_text);
convertView.setTag(holder);
}
else
holder = (ViewHolder) convertView.getTag();
holder.message.setText(message.getMessage());
LayoutParams lp = (LayoutParams) holder.message.getLayoutParams();
if(message.isStatusMessage())
{
holder.message.setBackgroundDrawable(null);
lp.gravity = Gravity.CENTER;
holder.message.setTextColor(mContext.getResources().getColor(R.color.textFieldColor));
}
else
{
if(message.isMine())
{
holder.message.setBackgroundResource(R.drawable.chat_bg2);
lp.gravity = Gravity.RIGHT;
}
else
{
holder.message.setBackgroundResource(R.drawable.chat_bg1);
lp.gravity = Gravity.LEFT;
}
holder.message.setLayoutParams(lp);
holder.message.setTextColor(mContext.getResources().getColor(R.color.textColor));
}
return convertView;
}
private static class ViewHolder
{
TextView message;
}
@Override
public long getItemId(int position) {
return 0;
}
}
public类AwesomeAdapter扩展了BaseAdapter{
私有上下文;
私有数组列表消息;
公共AwesomeAdapter(上下文、ArrayList消息){
超级();
this.mContext=上下文;
this.mMessages=消息;
}
@凌驾
public int getCount(){
返回mMessages.size();
}
@凌驾
公共对象getItem(int位置){
返回消息。获取(位置);
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
Message Message=(Message)this.getItem(位置);
视窗座;
if(convertView==null)
{
holder=新的ViewHolder();
convertView=LayoutFlater.from(mContext).充气(R.layout.sms_行,父级,false);
holder.message=(TextView)convertView.findViewById(R.id.message\u text);
convertView.setTag(支架);
}
其他的
holder=(ViewHolder)convertView.getTag();
holder.message.setText(message.getMessage());
LayoutParams lp=(LayoutParams)holder.message.getLayoutParams();
if(message.isStatusMessage())
{
holder.message.setBackgroundDrawable(空);
lp.重心=重心;
message.setTextColor(mContext.getResources().getColor(R.color.textFieldColor));
}
其他的
{
if(message.isMine())
{
holder.message.setBackgroundResource(R.drawable.chat_bg2);
lp.gravity=gravity.RIGHT;
}
其他的
{
holder.message.setBackgroundResource(R.drawable.chat_bg1);
lp.gravity=gravity.LEFT;
}
holder.message.setLayoutParams(lp);
message.setTextColor(mContext.getResources().getColor(R.color.textColor));
}
返回视图;
}
私有静态类视图持有者
{
文本视图消息;
}
@凌驾
公共长getItemId(int位置){
返回0;
}
}
为了防止箭头拉伸,它必须位于9面片图像的一个角内 要防止箭头拉伸,它必须位于9面片图像的一个角内 好的,我正在用CustomAdapter类编辑问题。你能发布一张显示补丁的9补丁图片吗?整个图像因外观而拉伸,因此可能有助于查看您是如何引用该图像的。您的任何资源文件夹中是否有非9patch图像?是的,我有非9patch图像。好的,我正在使用CustomAdapter类编辑问题。您能发布一张显示补丁的9-patch图像的图片吗?整个图像因外观而拉伸,因此查看您如何引用图像可能会有所帮助。您的任何资源文件夹中是否有非9patch图像?是的,我有非9patch图像。