导航:首页 > 操作系统 > android仿qq输入框

android仿qq输入框

发布时间:2023-03-18 14:38:11

‘壹’ android如何把QQ登录界面和自定义对话框结合起来

1、在Android打开设置找到模拟器。
2、在模拟器中输入qq账号不输入密码,点击登录按钮会显示提醒对话框。
2、登陆qq后在对话框内输入账号和密码,qq登录的界面和自定义对话框就会结合起来。

‘贰’ 32个实用酷炫的Android开源UI框架

1.Side-Menu.Android

分类侧滑菜单 , Yalantis 出品。

项目地址: https://github.com/Yalantis/Side-Menu.Android

2.Context-Menu.Android

可以方便快速集成漂亮带有动画效果的上下文菜单, Yalantis 出品。

项目地址: https://github.com/Yalantis/Context-Menu.Android

3.Pull-to-Refresh.Rentals-Android

提供一个简单可以自定义的 下拉刷新 实现,Yalantis 出品。

项目地址: https://github.com/Yalantis/Pull-to-Refresh.Rentals-Android

4.Titanic

可以显示水位上升下降的TextView

项目地址: https://github.com/RomainPiel/Titanic

5.AndroidSwipeLayout

滑动Layout ,支持单个View,ListView,GridView

项目地址: https://github.com/daimajia/AndroidSwipeLayout

Demo地址: Download Demo

6.Android Typeface Helper

可以帮你轻松实现自定义字体的库

项目地址: https://github.com/norbsoft/android-typeface-helper

7.android-lockpattern

Android的图案密码解锁

项目地址: https://code.google.com/p/android-lockpattern/

Demo地址: https://play.google.com/store/apps/details?id=group.pals.android.lib.ui.lockpattern.demo

文档介绍: https://code.google.com/p/android-lockpattern/wiki/QuickUse

APP示例:Android开机的图案密码解锁,支付宝的密码解锁

8.ToggleButton

状态切换的 Button,类似 iOS,用 View 实现

项目地址: https://github.com/zcweng/ToggleButton

9.WilliamChart

绘制图表的库,支持LineChartView、BarChartView和StackBarChartView三中图表类型,并且支持 Android 2.2及以上的系统。

项目地址: https://github.com/diogobernardino/WilliamChart

Demo地址: https://play.google.com/store/apps/details?id=com.db.williamchartdemo

Demo项目: https://github.com/diogobernardino/WilliamChart/tree/master/sample

10.实现滑动ViewPager渐变背景色

项目地址: https://github.com/TaurusXi/GuideBackgroundColorAnimation

11.Euclid

用户简历界面, Yalantis 出品。

项目地址: https://github.com/Yalantis/Euclid

12. InstaMaterial

Instagram的一组Material 风格的概念设计

项目地址: https://github.com/frogermcs/InstaMaterial

13. SpringIndicator

使用bezier实现粘连效果的页面指示

项目地址: https://github.com/chenupt/SpringIndicator

14. BezierDemo

仿qq消息气泡拖拽 消失的效果。

项目地址: https://github.com/chenupt/BezierDemo

15. FoldableLayout

折叠的信纸被打开一样的动画效果

项目地址: https://github.com/alexvasilkov/FoldableLayout

16.Taurus

下拉刷新,Yalantis 出品。(是不是有点似曾相识呢?)

项目地址: https://github.com/Yalantis/Taurus

17. PersistentSearch

在点击搜索的时候控件在原有位置显示输入框。

项目地址: https://github.com/Quinny898/PersistentSearch

18. circular-progress-button

带进度显示的Button

项目地址: https://github.com/dmytrodanylyk/circular-progress-button

19. discrollview

当上下滚动的时候子元素会呈现不同动画效果的scrollView,网页上称之为:视差滚动

项目地址: https://github.com/flavienlaurent/discrollview

20. sweet-alert-dialog

一个带动画效果的 自定义对话框样式

项目地址: https://github.com/pedant/sweet-alert-dialog

21. android-floating-action-button

Material Desig风格的 浮动操作按钮

项目地址: https://github.com/futuresimple/android-floating-action-button

22. android-collapse-calendar-view

可以在月视图与周视图之间切换的calendar控件

项目地址: https://github.com/blazsolar/android-collapse-calendar-view

22. android-collapse-calendar-view

可以在月视图与周视图之间切换的calendar控件

项目地址: https://github.com/blazsolar/android-collapse-calendar-view

23. NumberProgressBar

个简约性感的数字进度条

项目地址: https://github.com/daimajia/NumberProgressBar

24. CircularProgressView

CircularProgressView 是通过自定义view的方式实现的Material风格的加载提示控件,兼容任何版本。

项目地址: https://github.com/rahatarmanahmed/CircularProgressView

25. OriSim3D-Android

opengl 实现了各种折纸效果,模拟了从一张纸折叠成一条船的整个过程

项目地址: https://github.com/RemiKoutcherawy/OriSim3D-Android

26、万能日历控件:CalendarView

GitHub: https://github.com/huanghaibin-dev/CalendarView

中文使用文档: https://github.com/huanghaibin-dev/CalendarView/blob/master/QUESTION_ZH.md

27、大图查看器: BigImage ImageView ViewPager

Github: https://github.com/SherlockGougou/BigImageViewPager

地址: https://www.jianshu.com/p/b15e65791c3f

支持超长图、超大图的图片浏览器,优化内存,支持手势放大、下拉关闭、查看原图、加载百分比、保存图片等功能。现已支持androidx。

28、安卓工具包androidUntilCode(安卓必备)

Github: https://github.com/Blankj/AndroidUtilCode/blob/master/lib/utilcode/README-CN.md

29、万能适配器-BRAVH

官网: http://www.recyclerview.org

GitHub: https://github.com/CymChad/BaseRecyclerViewAdapterHelper

RecyclerView

作为Android最常用的控件之一,是否常常为“她”操碎了心

BRVAH受益群体是所有Android开发者,希望更多开发者能够一起来把这个项目做得更好帮助更多人

30、智能刷新控件--SmartRefreshLayout

GitHub: https://github.com/scwang90/SmartRefreshLayout

中文: https://gitee.com/scwang90/SmartRefreshLayout

SmartRefreshLayout以打造一个强大,稳定,成熟的下拉刷新框架为目标,并集成各种的炫酷、多样、实用、美观的Header和Footer。 正如名字所说,SmartRefreshLayout是一个“聪明”或者“智能”的下拉刷新布局,由于它的“智能”,它不只是支持所有的View,还支持多层嵌套的视图结构。 它继承自ViewGroup 而不是FrameLayout或LinearLayout,提高了性能。 也吸取了现在流行的各种刷新布局的优点,包括谷歌官方的 SwipeRefreshLayout , 其他第三方的 Ultra-Pull-To-Refresh 、 TwinklingRefreshLayout 。 还集成了各种炫酷的 Header 和 Footer。

31、内存泄漏检测工具--leakcanary

使用方式: https://www.jianshu.com/p/b83ddffcb3b5

LeakCanary是Square公司基于MAT开源的一个工具,用来检测Android App中的内存泄露问题。官方地址: https://github.com/square/leakcanary

32、 1218683832 / AndroidSlidingUpPanel

SlidingUpPanelLayout:可以上下滑动的菜单布

https://github.com/1218683832/AndroidSlidingUpPanel

‘叁’ Android 如何实现在隐藏键盘后,让输入框保持当前高度,类似QQ、微信聊天窗口。

当editText获取焦点的时候,需要直接调用显示键盘命令:<pre t="code" l="java">editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

}
}
});

‘肆’ android仿QQ在对应组件位置,弹出选项框是怎么实现的

这个得用popupwindow吧,dialog是悄档氏达不到你的效果的,dialog会覆盖到整个屏幕上面的蠢册,要么就启散修改dialog的theme

‘伍’ android qq消息聊天框怎么做

1. 实现使用ListView显示聊天信息,聊...
1

2、设计布局1.1.1 activity_main.xml...
2

3、msg_item.xml向layout中添加msg_ite...
3

4、设计MsgAdapter类向项目中添加com.e...
4

5、 完善MainActivity类1.1.1 添加成...
5

6、 添加处理逻辑向onCreate方法中添...
6

7、 运行程序运行程序,查看结果。应...

‘陆’ Android如何实现类似于QQ登录的界面,求大神!

首先程序进入SplashActivity,就是启动页面。
xml布局文件就是一个全屏的图片,要注意的是设置android:scaleType ="matrix"这个属性。不然不会全屏。
过1秒之后转入登陆页面,从图片我们可以看出,腾讯的UI做的还是相当美观漂亮的,既简洁又不失美观。先分析一下这个登录界面,从整体可以看出,根布局的
背景色是蓝色的,而那个QQ Android其实是一个图片背景色和根布局的背景色一样,这样就不会有视觉偏差。

‘柒’ android 中仿QQ显示说说 用什么控件

这个属于调用系统相册和系统相机进行图片选择的问题
客服端代码:

[java] view plainprint?
01.package com.cn.lxz.zhaopian;
02.
03.import java.io.File;
04.import java.io.IOException;
05.import java.text.SimpleDateFormat;
06.import java.util.Date;
07.import java.util.HashMap;
08.import java.util.Map;
09.
10.import lxz.utils.android.graphics.GraphicsBitmapUtils;
11.import lxz.utils.android.net.UploadFile;
12.import lxz.utils.android.resource.AndroidClass;
13.
14.import android.app.Activity;
15.import android.app.AlertDialog;
16.import android.content.DialogInterface;
17.import android.content.DialogInterface.OnClickListener;
18.import android.content.Intent;
19.import android.content.res.Resources;
20.import android.graphics.Bitmap;
21.import android.graphics.drawable.BitmapDrawable;
22.import android.graphics.drawable.Drawable;
23.import android.net.Uri;
24.import android.os.Bundle;
25.import android.os.Environment;
26.import android.os.Handler;
27.import android.os.Message;
28.import android.provider.MediaStore;
29.import android.view.View;
30.import android.widget.Button;
31.import android.widget.EditText;
32.import android.widget.ImageView;
33.import android.widget.Toast;
34.
35.public class Activity_UploadPic extends Activity implements Handler.Callback {
36. /** Called when the activity is first created. */
37.
38. ImageView view_pic;
39. Button view_btn;
40. EditText view_et;
41. // 线程通知上传成功
42. final Handler upLoadhand = new Handler(this);
43. String[] arrayString = { "拍照", "相册" };
44. String title = "上传照片";
45.
46. // 上传的地址
47. String uploadUrl = "http://192.168.1.101:8080/UploadServlet/UploadServlet?";
48. String filename = "照片";
49. private static final int PHOTO_REQUEST_TAKEPHOTO = 1;// 拍照
50. private static final int PHOTO_REQUEST_GALLERY = 2;// 从相册中选择
51. private static final int PHOTO_REQUEST_CUT = 3;// 结果
52.
53. @Override
54. public boolean handleMessage(Message msg) {
55.
56. if (msg.obj != null) {
57. Drawable drawable = new BitmapDrawable((Bitmap) msg.obj);
58. view_pic.setBackgroundDrawable(drawable);
59. Toast.makeText(this, "获得图片并且头像上传成功", 3).show();
60. }else
61. {
62. Toast.makeText(this, "获得图片,但是头像上传失败,请注意配置uploadUrl上传地址", 3).show();
63. }
64.
65. return false;
66. }
67.
68. // 创建一个以当前时间为名称的文件
69. File tempFile = new File(Environment.getExternalStorageDirectory(),
70. getPhotoFileName());
71.
72. // 对话框
73. OnClickListener onDialogClick = new OnClickListener() {
74. @Override
75. public void onClick(DialogInterface dialog, int which) {
76. switch (which) {
77. case 0:
78. startCamearPicCut(dialog);// 开启照相
79. break;
80. case 1:
81. startImageCaptrue(dialog);// 开启图库
82. break;
83. default:
84. break;
85. }
86. }
87.
88. private void startCamearPicCut(DialogInterface dialog) {
89. // TODO Auto-generated method stub
90. dialog.dismiss();
91. // 调用系统的拍照功能
92. Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
93.
94. intent.putExtra("camerasensortype", 2);// 调用前置摄像头
95. intent.putExtra("autofocus", true);// 自动对焦
96. intent.putExtra("fullScreen", false);// 全屏
97. intent.putExtra("showActionIcons", false);
98. // 指定调用相机拍照后照片的储存路径
99. intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tempFile));
100. startActivityForResult(intent, PHOTO_REQUEST_TAKEPHOTO);
101. }
102.
103. private void startImageCaptrue(DialogInterface dialog) {
104. // TODO Auto-generated method stub
105. dialog.dismiss();
106. Intent intent = new Intent(Intent.ACTION_PICK, null);
107. intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
108. "image/*");
109. startActivityForResult(intent, PHOTO_REQUEST_GALLERY);
110. }
111. };
112.
113. @Override
114. public void onCreate(Bundle savedInstanceState) {
115. super.onCreate(savedInstanceState);
116. setContentView(R.layout.main);
117. init();
118.
119. }
120.
121. private void init() {
122. // TODO Auto-generated method stub
123. view_pic = (ImageView) findViewById(R.id.iv);
124. view_btn = (Button) findViewById(R.id.btn);
125. view_et = (EditText) findViewById(R.id.et);
126. view_btn.setOnClickListener(new View.OnClickListener() {
127.
128. @Override
129. public void onClick(View v) {
130. // TODO Auto-generated method stub
131. AlertDialog.Builder dialog = AndroidClass.getListDialogBuilder(
132. Activity_UploadPic.this, arrayString, title,
133. onDialogClick);
134. dialog.show();
135. }
136. });
137. }
138.
139. // 使用系统当前日期加以调整作为照片的名称
140. private String getPhotoFileName() {
141. Date date = new Date(System.currentTimeMillis());
142. SimpleDateFormat dateFormat = new SimpleDateFormat(
143. "'IMG'_yyyyMMdd_HHmmss");
144. return dateFormat.format(date) + ".jpg";
145. }
146.
147. @Override
148. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
149. super.onActivityResult(requestCode, resultCode, data);
150. switch (requestCode) {
151. case PHOTO_REQUEST_TAKEPHOTO:
152. startPhotoZoom(Uri.fromFile(tempFile), 150);
153. break;
154.
155. case PHOTO_REQUEST_GALLERY:
156. if (data != null) {
157. startPhotoZoom(data.getData(), 150);
158. }
159. break;
160.
161. case PHOTO_REQUEST_CUT:
162. if (data != null) {
163. setPicToView(data);
164. }
165. break;
166. }
167. super.onActivityResult(requestCode, resultCode, data);
168. }
169.
170. private void startPhotoZoom(Uri uri, int size) {
171. Intent intent = new Intent("com.android.camera.action.CROP");
172. intent.setDataAndType(uri, "image/*");
173. // crop为true是设置在开启的intent中设置显示的view可以剪裁
174. intent.putExtra("crop", "true");
175.
176. // aspectX aspectY 是宽高的比例
177. intent.putExtra("aspectX", 1);
178. intent.putExtra("aspectY", 1);
179.
180. // outputX,outputY 是剪裁图片的宽高
181. intent.putExtra("outputX", size);
182. intent.putExtra("outputY", size);
183. intent.putExtra("return-data", true);
184.
185. startActivityForResult(intent, PHOTO_REQUEST_CUT);
186. }
187.
188. // 将进行剪裁后的图片显示到UI界面上
189. private void setPicToView(Intent picdata) {
190. Bundle bundle = picdata.getExtras();
191. if (bundle != null) {
192. final Bitmap photo = bundle.getParcelable("data");
193.
194. new Thread() {
195.
196. @Override
197. public void run() {
198. byte[] photodata = GraphicsBitmapUtils.Bitmap2Bytes(photo);
199. UploadFile uploadFile = new UploadFile(uploadUrl);
200. Map parameters = new HashMap();
201. parameters.put("msg", view_et.getText().toString());
202.
203. boolean isUploadSuccess = false;
204.
205. try {
206. isUploadSuccess = uploadFile.defaultUploadMethod(
207. photodata, filename, parameters);
208. } catch (IOException e) {
209. // TODO Auto-generated catch block
210. e.printStackTrace();
211. }
212.
213. if (isUploadSuccess) {
214. upLoadhand.obtainMessage(0, photo).sendToTarget();
215. } else {
216. upLoadhand.obtainMessage(-1, null).sendToTarget();
217. }
218.
219. }
220. }.start();
221.
222. }
223. }
224.
225.}

阅读全文

与android仿qq输入框相关的资料

热点内容
怎样加密自己的密码 浏览:521
安卓怎么关权限保护隐私 浏览:390
海牛微视app怎么用 浏览:70
单片机怎样选变压器 浏览:829
癌症pdf 浏览:725
云服务器镜像批量部署环境 浏览:683
安卓手机浏览器能访问什么网站 浏览:254
找不到网站的服务器ip地址该如何解决 浏览:743
算法十个数降序排列 浏览:95
基于单片机的老年人健康监测系统 浏览:706
python入门经典pdf下载 浏览:17
东芝变频2p空调压缩机 浏览:227
自家wifi怎么能加密 浏览:644
红米k40加密门禁卡 浏览:847
什么样的源码好看 浏览:156
手机主服务器有什么用 浏览:612
程序编写命令 浏览:597
android发送心跳包 浏览:385
指标源码和原理 浏览:700
汽车空调压缩吸盘 浏览:208