Android 即时通讯软件泡沫扩大

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&

我正在开发和messenger应用程序,但聊天泡泡不合适。我正在使用9-patch.png图像。箭头也随着文本区域拉伸。有人能帮忙吗

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图像。