- 浏览: 1222261 次
- 性别:
- 来自: 荆州
文章分类
- 全部博客 (396)
- Android 基础 (72)
- Java 基础 (42)
- Android(动画效果) (26)
- Android(自定义组件) (13)
- Android(手机服务) (38)
- Android(网络相关) (27)
- Android(多媒体) (12)
- Android(小技巧) (30)
- Android(用户界面) (39)
- 基础概念 (24)
- Android组件学习 (21)
- Android数据库相关 (11)
- 生活杂谈 (10)
- 调试技巧部分 (8)
- Sql Server相关 (1)
- Android(xml相关) (2)
- Android 开发 (12)
- 韩语学习 (4)
- Mac添加环境变量的三种方法 (1)
- iPhone开发 (1)
- Android Studio (1)
最新评论
-
ppfbsar:
下载网络文件到SD卡上 -
851228082:
好文!彻底理解单类型导入与按需导入的区别了。还有一点可以通过 ...
谈java的导入(import) -
麦田的设计者:
老乡啊
sqlite 数据库保存图片 -
sf_dream:
我要是读写list、map之类的集合呢
ObjectOutputStream和ObjectInputStream类的学习 -
xfyunyun:
博主,请问webview加载html字符串时怎么进行缓存处理呢 ...
WebView使用总结2(加载HTML内容形式的String)
直接上代码,以下例子可用于如题所示的功能:
2.main.xml文件布局
希望对大家有所帮助,也希望各位能留言帮介绍一些学习的地址之类,谢谢先
package cn.com; import java.util.Calendar; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.os.Handler; import android.text.format.DateFormat; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.ScrollView; import android.widget.TextView; import android.view.View.OnClickListener; public class fetion2009 extends Activity implements OnClickListener { // 进度条控件,但拿出来是为了可控,动态改变其进度 ProgressBar pb; // 聊天对话的底色是间隔的 private static final int[] bg = { Color.WHITE, Color.GRAY }; // 聊天对话的底色 当前色应该是bg中的索引值 private static int bgIndex = 0; LinearLayout layout; ScrollView scroll; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 聊天对白窗口需要滚动 scroll = (ScrollView) findViewById(R.id.scrollview); Button inputbutton = (Button) findViewById(R.id.inputbutton); inputbutton.setOnClickListener(this); // 线性布局方式 layout = new LinearLayout(this); // 控件对其方式为垂直排列 layout.setOrientation(LinearLayout.VERTICAL); // 设置布局板的一个特殊颜色,这可以检验我们会话时候是否有地方颜色不正确! layout.setBackgroundColor(0xff00ffff); // 丰富聊天页面,也顺带测试页面滚动效果,增加了10个重复的对话内容 for (int i = 0; i < 15; i++) { setMsg(layout, this, getCurrColor(), i + "聊天内容在这里...."); } scroll.addView(layout); } /** * @return 当前聊天对白的底色值 */ private int getCurrColor() { return bg[(++bgIndex) % bg.length]; } /** * 动态增加一个聊天内容 这里为了简化编程把 某人说 和 内容放到一个TextView中, * 可以根据设计文档拆成2个TextView分别显示,设置字体等 * * @param layout * TextView控件欲添加到的目标layout * @param context * 构建View控件的必须参数 既View控件的环境 * @param bgColur * TextView控件的背景色 * @param MSG * TextView控件要现实的文本内容 */ private void setMsg(LinearLayout layout, Context context, int bgColur, String MSG) { TextView tv = new TextView(context); // 获取一个全局的日历实例,用于获取当前系统时间并格式化成小时:分钟形式, // 仅用于测试,这里的时间应该是由其他程序提供 tv.setText("某人 说: [" + DateFormat.format("kk:mm", Calendar.getInstance()) + "]\n" + MSG); tv.setBackgroundColor(bgColur); layout.addView(tv); } private final Handler mHandler = new Handler(); @Override public void onClick(View v) { // TODO Auto-generated method stub setMsg(layout, this, getCurrColor(), "聊天内容在这里。。"); // 投递一个消息进行滚动 mHandler.post(mScrollToBottom); } private Runnable mScrollToBottom = new Runnable() { @Override public void run() { // TODO Auto-generated method stub Log.d("", "ScrollY: " + scroll.getScrollY()); int off = layout.getMeasuredHeight() - scroll.getHeight(); if (off > 0) { scroll.scrollTo(0, off); } } }; }
2.main.xml文件布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#c8d8f4"> <ScrollView android:layout_width="fill_parent" android:id="@+id/scrollview" android:layout_height="380dp" android:text="@string/hello" android:background="#c8d8f4"></ScrollView> <EditText android:layout_width="240dp" android:layout_height="wrap_content" android:layout_below="@+id/scrollview" android:id="@+id/inputText" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/scrollview" android:id="@+id/inputbutton" android:layout_marginLeft="260dp" android:text="发送" /> </RelativeLayout>
希望对大家有所帮助,也希望各位能留言帮介绍一些学习的地址之类,谢谢先
发表评论
-
输入法弹出后,不影响activity原有布局(android:windowSoftInputMode)
2012-07-08 21:03 4373在AndroidManifest.xml文件中的activit ... -
屏幕截图
2012-04-19 18:24 1316直接贴代码,不说话:) ScreenShot.java文件: ... -
Android Bitmap 圆角 倒影
2012-03-13 23:17 1546// 获得带倒影的图片方法 public Bitmap ... -
View进行透明度设置
2012-03-08 23:12 1820对特定View进行透明度设置的代码片段: public v ... -
动态设置GridView宽,高
2012-03-07 14:24 2360这里假设实例Id为mGrid: RelativeLayo ... -
ActivityGroup使用方法
2012-02-15 17:34 7173这个例子是在http://www.anddev.org上看到的 ... -
Android进度条总结
2011-04-08 10:27 16051.在标题栏显示进度条: requestWindowFea ... -
TextView实现多行本文滚动
2011-04-07 21:49 1732Android中我们为了实现文本的滚动可以在ScrollVie ... -
Android 给应用定制皮肤
2011-04-07 21:29 3184在实现程序功能的同时,如果能让程序界面更加美观,有锦上添花之妙 ... -
自定义无标题Dialog
2011-03-18 13:39 22751.主Activity: public class D ... -
手机分辨率和密度的理解
2011-01-24 10:22 2485QVGA,WQVGA屏density=120 HVGA屏den ... -
Android Bitmap 圆角
2011-01-20 10:16 1748第一种是生成圆角背景: Button mView = (B ... -
如何保证Activity实例个数唯一(Activity启动模式)
2011-01-14 11:35 10699ActA.java文件: public class Act ... -
Dialog自定义方法1
2011-01-13 14:51 1390public class SelfDialog { D ... -
UI方面的一些知识点总结
2010-09-17 16:52 14951.如何获取手机屏幕的分辨率: /* 取得屏幕解析像 ... -
Android中画图总结(2)
2010-09-17 15:41 18941.如何显示一张自定义位图: step 1:先定义一张位图 ... -
Android中画图总结(1)
2010-09-17 15:32 15011.如何获取 res 中的资源 ... -
TextView中style的应用
2010-09-10 14:09 1247<TextView android:layout_w ... -
显示带图片的Toast提示
2010-09-09 14:22 2044ImageView mView01 = new Image ... -
color.xml中各种颜色值整理
2010-09-05 22:07 2423<color name="solid_bl ...
相关推荐
- 用户可以拖动聊天窗口改变位置或调整窗口大小。 ### 扩展知识点 1. **UI Text List**: - 实现一个自定义的UITextList类来管理聊天记录的显示。 - 可以考虑使用Unity UI的TextMesh Pro组件来优化文本渲染性能。...
总结来说,这个开源项目提供了使用AutoLayout进行复杂界面布局的实例,特别是对于聊天界面这种需要动态适应内容和屏幕尺寸的场景。通过学习和分析,开发者不仅可以掌握AutoLayout的基本用法,还能进一步理解如何在...
为了使聊天界面更加真实,还可以加入更多细节处理,比如动态改变背景颜色、调整控件间距等。 #### 五、总结 动态创建控件是Android开发中一项非常实用的技术,尤其是在需要频繁更新UI的情况下。通过本文介绍的方法...
在UIScrollView内部,我们通常会添加一个子视图(UIImageView或自定义视图),这个子视图可以包含我们要显示的全部内容。当用户触摸并拖动屏幕时,UIScrollView会根据用户的操作改变其contentOffset属性,从而实现...
通常,这会包含一个输入框用于用户输入消息,一个按钮用于发送消息,以及一个滚动视图来显示聊天历史。在`activity_main.xml`布局文件中,可以使用`EditText`、`Button`和`ScrollView`组件来构建这个界面。记得添加...
"Scroll View"是UGUI中的一个核心组件,允许玩家在有限的屏幕空间内查看和操作大量内容,如游戏菜单、角色列表或聊天窗口。本文将深入探讨"Scroll View"的实现及其优化策略,特别是如何实现横线滑动、纵向滑动以及...
划屏技术使得用户可以流畅地浏览和操作应用内容,提升用户体验。下面将详细介绍Android中实现划屏的相关知识点。 1. **布局设计**: 在创建划屏界面时,通常会用到`ScrollView`或`HorizontalScrollView`来实现垂直...
3. **自定义布局处理**:通过监听键盘的显示与隐藏事件,动态修改布局的高度和位置。这通常需要使用到`ViewTreeObserver.OnGlobalLayoutListener`,在键盘状态变化时进行相应的布局调整。 4. **第三方库**:有一些...
在微信应用中,当你在聊天列表或者朋友圈页面向下拉动时,会看到一个动画效果,通常包含一个旋转的小菊花图标和一些文字提示,如"下拉可以刷新"或"释放立即刷新"。这种设计不仅增添了交互性,也使得用户清楚地知道...
在Android应用开发中,弹幕效果通常用于视频播放或者聊天室等场景,为用户提供一种动态展示信息的方式。本文将深入探讨如何在Android中实现一个自定义的“弹幕View”。 一、理解弹幕机制 弹幕(Danmaku)源自日本的...
在微信的日常使用中,"返回顶部"是一个非常实用的功能,尤其对于那些浏览长篇文章或者聊天记录时。这个功能使得用户能够快速地从当前位置回到聊天界面或文章的开头,节省了滑动屏幕的时间,提高了效率。在"右侧微信...
- **键盘事件监听**:项目通过监听键盘的显示和隐藏事件,来触发界面的动态调整。 - **布局管理**:在Android中,可能涉及到ScrollView、NestedScrollView或 CoordinatorLayout 的使用;在iOS中,可能涉及...
2. 自定义`ScrollView`或`NestedScrollView`:当内容过多时,可以使用自定义的滚动视图监听键盘事件,以便在键盘弹出时自动滚动到输入框位置。 3. 使用第三方库:像`androidx.coordinatorlayout.widget....
微信头通常指的是在应用顶部,类似于微信聊天页面顶部的那个滚动条,它可以显示当前页面的标题,并且随着页面的滑动而上下移动,当滑动到顶部时会固定在屏幕顶部。这个功能在Android中可以通过实现ScrollView或...
5.6.3 Rich Edit控件中的当前选定内容 215 5.6.4 Rich Edit控件中的分词 216 5.6.5 Rich Edit控件中的剪贴板操作 216 5.6.6 Rich Edit控件中的流操作 216 5.6.7 Rich Edit控件中的打印操作 216 5.6.8 无底的Rich ...