【移动应用开发技术】项目拉手团购开发记录_第1页
【移动应用开发技术】项目拉手团购开发记录_第2页
【移动应用开发技术】项目拉手团购开发记录_第3页
【移动应用开发技术】项目拉手团购开发记录_第4页
【移动应用开发技术】项目拉手团购开发记录_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】项目拉手团购开发记录

10.27构建框架下载数据注意字段名要一致使用Gson解析JsonArray时,代码如下:Gson

gson

=

new

Gson();

Type

type

=

new

TypeToken<ArrayList<数据类型>>(){}.getType();

ArrayList<数据类型>list

=

gson.fromjson(json,type);其中Type为Java.lang.reflect.typeTypeToken为Gson.reflect.typeToken设置GridView的间距竖直方向的item的间隔用android:verticalSpacing="15dp"如何设置图片大小根据屏幕大小的几分之几来设置10.29ListView中刷新命令只与ListView的getView有关,与HeadView都没有关系自定义GridView以适应在ListView嵌套中能够滑动,适用于数量不多的情况,因为优化全部失效解决不同分辨率显示效果不同,通过屏幕尺寸来设置布局的大小,代码://

得到屏幕参数

WindowManager

systemService

=

(WindowManager)

getActivity().getSystemService(Context.WINDOW_SERVICE);

mDisplay

=

systemService.getDefaultDisplay();Gson解析使用工具jsonschema2pojo快速创见Gson解析需要的类删除无用的@…,由于工具的原因,下划线_下划线都被替换成了-,改之11.05标签栏的切换动画ObjectAnimator.ofFloat(mTabIndiactor,

"translationX",

0).setDuration(500).start();注意,这里只设置了到哪里去而没有从哪里开始点击进入商品详情(ScrollView的使用)将各式各样的布局以及多个listview添加ScrollView中自定义ListView使其能够在ScrollView中正常显示通过webView显示超文本

给文本添加划掉效果textview.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);代码控制ScrollView的滚动scrollview.scrollTo(0,0);

scrollview.smoothScrollTo(0,0);indeterminateOnly属性android:indeterminateOnly这个属性如果设置为true,表示的是这个ProgressBar是模糊的,不明确的,也就是说,当前它并没有体现出具体的进度,只是一直循环往复11.11自定义RatingBar关键属性:progressDrawable,MaxHeight,MinHeight添加点击拨号功能直接开启系统的拨号功能,在代码中传入需要拨打的号码Intentintent=newIntent(Intent.ACTION_CALL,Uri.parse("tel:"+"110"));跳转到拨号界面控件悬停功能添加支付悬浮思路:当scrollView上下滑动时,支付布局2有条件的Gone或者Visible。Gone:默认Visible:此时scrollView滑动的高度>=图片控件的高度时时监听scrollView滑动距离自定义ScrollView,并声明一个设置监听的方法MyScrollView代码:package

com.jensen.quiet;

import

android.content.Context;

import

android.util.AttributeSet;

import

android.widget.ScrollView;

public

class

MyScrollView

extends

ScrollView

{

private

OnScrollListener

listener;

public

interface

OnScrollListener

{

void

onScroll(int

height);

}

public

void

setOnScrollListener(OnScrollListener

listener)

{

this.listener

=

listener;

}

public

MyScrollView(Context

context,

AttributeSet

attrs)

{

super(context,

attrs);

//

TODO

Auto-generated

constructor

stub

}

@Override

protected

void

onScrollChanged(int

l,

int

t,

int

oldl,

int

oldt)

{

listener.onScroll(t);

super.onScrollChanged(l,

t,

oldl,

oldt);

}

}点击查看详情图片ViewPager

+

图片加载UIL

+

黑色背景城市列表以及城市定位ListView字母索引(开源项目)

将所有数据按照字母排序侧边字母索引11.16在xml中设置无ActionBar模式在values文件下得styles文件中添加如下代码:<style

name="NoBar"

parent="android:Theme.Light.NoTitleBar"></style>在values-v14文件夹下的styles中添加如下代码:<style

name="NoBar"

parent="android:Theme.Holo.Light.NoActionBar"></style>在清单文件的application标签下添加:android:theme="@style/NoBar"dp,sp,px的关系dp(dip):deviceindependentpixels(设备独立像素).不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA推荐使用这个,不依赖像素。dp也就是dip,这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160*320/160。其中320/160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。px:pixels(像素).不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。pt:point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;sp:scaledpixels(放大像素).主要用于字体显示bestfortextsize。在GridView中显示网格的一种方法该网格线是通过设置GridView各子项的间隔,并分别设置GridView背景色与子项背景色实现的。实现方法

设置GridView背景色,设置水平间方向间隔属性值android:horizontalSpacing和竖直方向间隔属性值android:verticalSpacing设置GridView子项背景色,要求子项背景色跟GridView背景色不一致。代码中设置TextView中的图片的方法Drawable

drawable=

getResources().getDrawable(R.drawable.drawable);

//

这一步必须要做,否则不会显示.

drawable.setBounds(0,

0,

drawable.getMinimumWidth(),

drawable.getMinimumHeight());

myTextview.setCompoundDrawables(drawable,null,null,null);或myTextview.setCompoundDrawablesWithIntrinsicBounds

(Drawable

left,Drawable

top,

Drawable

right,

Drawable

bottom)完善界面细节耗时工程,以下省略一千字自定义CheckBox的背景使用xml属性:button使用Bmob开放接口添加手机验证码登录ButterKnife的使用查看GitHub上的源码,知道了怎么使用CheckBox的监听@OnCheckedChanged(R.id.simple_activity_checkbox)

void

onCheckedChanged(CompoundButton

button,

boolean

checked)

{

Toast.makeText(this,

"CheckBox

Changed!

"

+

checked,

Toast.LENGTH_SHORT).show();

}给EditText添加监听addTextChangedListener(TextWatcherwatcher)方法对EditText实现监完成全部分类界面完成我的拉手界面绘制11.20给自定义控件添加xml属性如何使用自定义控件的属性在自定义控件中使用自定义属性:app:contentSize=“10dp”在布局中声明新的命名空间:xmlns即xmlnamespace。拷贝android命名控件,前面的Android改为app(可变),后面/android改为-auto。xmlns:app="/apk/res-auto"拷贝ApiDemos中的attires.xml文件,保留LabelView属性,删除其他,并按需求修改命名。在类文件中的两个参数的构造方法中读取控件的属性,代码如下参考ApiDemosresvaluesattrs.xml。步骤:public

MySideBar(Context

context,

AttributeSet

attrs)

{

super(context,

attrs);

//

添加属性

//R.styleable.MySideBar就是刚刚在attrs.xml中定义的属性

TypedArray

obtainStyledAttributes

=

context.obtainStyledAttributes(attrs,

R.styleable.MySideBar);

//

读具体的某个属性

dimen

=

obtainStyledAttributes.getDimension(R.styleable.MySideBar_contentSize,

20);

//释放内存

obtainStyledAttributes.recycle();

}ActiveAndroid保存一对多的数据类型在location界面中添加城市搜索功能思路:在location中添加一个ListView用于显示搜索结果,定义一个容器储存搜索匹配拼音的结果,为EditText添加输入监听修改布局,使用FrameLayout关键代码:mSerach.addTextChangedListener(new

TextWatcher()

{

@Override

public

void

onTextChanged(CharSequence

s,

int

start,

int

before,

int

count)

{

//

汉字的话要使用拼音库

String

key

=

s.toString().toLowerCase();

mSerachCity.clear();

serachAdapter.notifyDataSetChanged();

if

("".equals(key))

{

mSearchListView.setVisibility(View.GONE);

}

else

{

mSearchListView.setVisibility(View.VISIBLE);

for

(int

i

=

0;

i

<

mAllcity.size();

i++)

{

Allcity

city

=

mAllcity.get(i);

if

(city.getPinyin().toLowerCase().startsWith(key))

{

mSerachCity.a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论