2 yxts122 YXTS122 于 2016.09.12 20:34 提问

聊天背景的点9图怎么做?

因我要做这个聊天界面,需要搞个气泡的点9图片,但我不知道该怎么操作?
http://bbs.csdn.net/topics/392017626

图片说明
求救,怎么操作?

4个回答

u012436608
u012436608   2016.09.14 09:43
已采纳

上边 和左边 点的点代表拉伸区域 右边 和下边画线表示文字的显示区域

YXTS122
YXTS122 我想问的是我该用鼠标具体怎么操作?能示范一遍给我看吗?或者有相关的视频么?
接近 2 年之前 回复
YXTS122
YXTS122   2016.09.15 05:14

图片说明

图片说明
我知道了,鼠标由单箭头变为双箭头

YXTS122
YXTS122   2016.11.25 06:51

title.xml

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    tools:context="com.example.ch02_qipao.MainActivity"
    android:orientation="horizontal"
    android:background="#ffc0cb">

    <Button 
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="@string/fanhui"
        android:textSize="15sp"/>

    <TextView 
        android:layout_width="0dp"
        android:layout_weight="2"
        android:gravity="center"  
        android:layout_height="match_parent"
        android:text="@string/liao"
        android:textSize="15sp"/>

    <Button 
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="@string/xinjian"
        android:textSize="15sp"/>

</LinearLayout>

YXTS122
YXTS122   2016.11.25 06:57

MainActivity.java

 package com.example.ch02_qipao;


import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {
    private ListView msgListView;
    private EditText inputText;
    private Button send;
    private Button receive;
    private MsgAdapter adapter;
    private List<Msg> msgList=new ArrayList<Msg>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        initMsgs();
        adapter=new MsgAdapter(MainActivity.this,R.layout.msg_item,msgList);
        inputText=(EditText)findViewById(R.id.input_text);
        send=(Button)findViewById(R.id.send);
        receive=(Button)findViewById(R.id.receive);
        msgListView=(ListView)findViewById(R.id.msg_list_view);
        msgListView.setAdapter(adapter);
        send.setOnClickListener(this);
        receive.setOnClickListener(this);
    }

    private void initMsgs() {
        Msg msg1=new Msg("你好!",Msg.TYPE_RECEIVED);
        msgList.add(msg1);
        Msg msg2=new Msg("你好!",Msg.TYPE_SENT);
        msgList.add(msg2);
    }

    @Override
    public void onClick(View v)
    {
    String content=inputText.getText().toString().trim();
    switch (v.getId())
    {
    case R.id.send:
        if(!"".equals(content)) {
            Msg msg=new Msg(content,Msg.TYPE_SENT);
            msgList.add(msg);
            adapter.notifyDataSetChanged();
            msgListView.setSelection(msgList.size());
            inputText.setText("");
        }
        else {
            Toast toast1=Toast.makeText(getApplicationContext(),"不能发送空内容!",Toast.LENGTH_SHORT);
            toast1.show();
        }
        break;
    case R.id.receive:
        if(!"".equals(content)) {
            Msg msg=new Msg(content,Msg.TYPE_RECEIVED);
            msgList.add(msg);
            adapter.notifyDataSetChanged();
            msgListView.setSelection(msgList.size());
            inputText.setText("");
        }
        else {
            Toast toast1=Toast.makeText(getApplicationContext(),"不能发送空内容!",Toast.LENGTH_SHORT);
            toast1.show();
        }
        break;
    }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}


activity_main.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.ch02_qipao.MainActivity" 
    android:background="#d8e0e8"
    android:orientation="vertical">

    <include 
        layout="@layout/title" />

    <ListView
        android:id="@+id/msg_list_view"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:divider="#ffc0cb">

    </ListView>

    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button 
            android:id="@+id/receive"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/send"/>

        <EditText 
            android:id="@+id/input_text"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:hint="@string/something"
            android:maxLines="3"/>

        <Button 
            android:id="@+id/send"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/send"/>

    </LinearLayout>

</LinearLayout>

msg_item.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.ch02_qipao.MainActivity" 
    android:background="#d8e0e8"
    android:orientation="vertical">

    <LinearLayout 
        android:id="@+id/left_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:background="@drawable/left">

        <TextView 
            android:id="@+id/left_msg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:textColor="#fff"
            android:background="#ffc0cb"/>
    </LinearLayout>


    <LinearLayout 
        android:id="@+id/right_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:background="@drawable/right">

        <TextView 
            android:id="@+id/right_msg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:textColor="#fff"
            android:background="#ffc0cb"/>
    </LinearLayout>

</LinearLayout>  

图片说明
图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
类似安卓的点9图片,气泡图片调成自己需要的
类似安卓的点9图片,气泡图片调成自己需要的
安卓 .9.png图片写聊天对话框的 详细教程
最近在学Android 学的不好 然后看到了用.9.png写对话框的哪里,但是书上写的太简单 感觉做出来和书上的不一样 然后就去各种百度 感觉网上关于这个东西的资料都是粘贴复制而且并没有解决问题    然后自己瞎搞居然搞出来了 1    .9.png格式     用sdk\tools\draw9patch.bat 程序运行             
点九图的制作方法
首先,我们来了解一下什么是点9图? 点9图就是安卓系统或ios系统内的一种可拉抻而不失真的图, 点9图是把图中某些部分进行拉伸,而不想拉伸的部分,比如圆角等部分不做变化。 下面就我就以聊天气泡为例: 首先来看看一张做好的普通的气泡背景图及显示的效果图 上面那张是我做的气泡背景图,而下面两张分别是横向拉伸和纵向拉伸的效果,可以看出来,这种效果是非常糟糕的,并不是我们想要的,背景变形了,
Android点9图的运用
在Android UI设计开发中,我们经常会用到一些图标、图片来做背景等。 相信很多同学都会遇到一个问题,就是我们让美工做好一张图,一个图标,呃,看起来挺好看的,但是放进app中,扩大或缩小、在不同分辨率的手机中,显示出来的图片会变形、模糊。这可不是一个理想的界面。 或许,我们有一种办法,就是做多几张图片。开发Android的同学一定有看到项目里res目录下会有drawable-ldpi、dr
Android工具draw9patch使用点.9.png图片制作
本文将以示例的形式,讲解QQ聊天气泡.9.png图片的制作过程
点九图简单介绍及制作教程
原:http://www.ui.cn/detail/48906.html Android开发中用到的一种特殊格式的图片,文件名以”.9.png“结尾。这种图片能告诉程序,图像哪一部分可以被拉升,哪一部分不能被拉升需要保持原有比列。运用点九图可以保证图片在不模糊变形的前提下做到自适应。点九图常用于对话框背景图片中。 这是截屏自手机QQ一组聊天对话框,可以看
使用9Patch图片作为背景
将图片作为View组件的背景时,当View中要呈现的文字内容太多时,Android会自动缩放整张图片,以保证背景图片能覆盖整个View。但这种缩放图片的效果可能并不好。可能存在的情况是我们只想缩放图片的某个部分,这样才能保证View的视图效果。为了实现只缩放图片中的某个部分效果,我们需要借助于9Patch图片来实现。9Patch图片是一种特殊的PNG图片,这种图片以.9.png结尾,它在原始图片四周
类似于微信的聊天气泡图片
用draw9patch.bat绘制的气泡图片用在Android程序中有黑线,怎么解决? 下载这个压缩包,也可以参考我的博客自己动手做。 http://blog.csdn.net/rock4you/article/details/51971283
用PS制作点九图
即 .9 ,是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png 我们都知道android平台有多种不同的分辨率,很多控件的切图文件在被放大拉伸后,边角会模糊失真。在android平台下使用点九PNG技术,可以将图片横向和纵向同时进行拉伸,以实现在多分辨率下的完美显示效果。 【普通拉伸和点九拉伸效果对比】
android 9patch背景图片导致的一个文本显示问题
今天在写android程序时遇到了一个奇怪的问题。 一个简单的布局 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android