内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

項(xiàng)目拉手團(tuán)購(gòu)開發(fā)記錄-創(chuàng)新互聯(lián)

項(xiàng)目:拉手團(tuán)購(gòu)

項(xiàng)目:拉手團(tuán)購(gòu)

10.27

構(gòu)建框架

下載數(shù)據(jù)

  • 注意字段名要一致

    成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),源匯企業(yè)網(wǎng)站建設(shè),源匯品牌網(wǎng)站建設(shè),網(wǎng)站定制,源匯網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,源匯網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
  • 使用Gson解析JsonArray時(shí),代碼如下:

Gson gson = new Gson();
Type type = new TypeToken<ArrayList<數(shù)據(jù)類型>>(){}.getType();
ArrayList<數(shù)據(jù)類型>list = gson.fromjson(json,type);

其中Type為Java.lang.reflect.type

TypeToken為Gson.reflect.typeToken

  • 設(shè)置GridView的間距

    豎直方向的item的間隔用android:verticalSpacing="15dp"

如何設(shè)置圖片大小

根據(jù)屏幕大小的幾分之幾來設(shè)置

10.29

ListView中刷新命令只與ListView的getView有關(guān),與HeadView都沒有關(guān)系

自定義GridView以適應(yīng)在ListView嵌套中能夠滑動(dòng),適用于數(shù)量不多的情況,因?yàn)閮?yōu)化全部失效

解決不同分辨率顯示效果不同,通過屏幕尺寸來設(shè)置布局的大小,代碼:

// 得到屏幕參數(shù)
WindowManager systemService = (WindowManager) getActivity().getSystemService(Context.WINDOW_SERVICE);
mDisplay = systemService.getDefaultDisplay();

Gson解析

  • 使用工具jsonschema2pojo快速創(chuàng)見Gson解析需要的類

  • 刪除無(wú)用的@…,由于工具的原因,下劃線_下劃線都被替換成了-,改之

11.05

標(biāo)簽欄的切換動(dòng)畫

ObjectAnimator.ofFloat(mTabIndiactor, "translationX", 0).setDuration(500).start();

注意,這里只設(shè)置了到哪里去而沒有從哪里開始

項(xiàng)目拉手團(tuán)購(gòu)開發(fā)記錄

點(diǎn)擊進(jìn)入商品詳情(ScrollView的使用)

  • 將各式各樣的布局以及多個(gè)listview添加ScrollView中

  • 自定義ListView使其能夠在ScrollView中正常顯示

通過webView顯示超文本 

  • mBendanWeb.loadDataWithBaseURL(null, mData.getDetails(),"text/html", "UTF-8", null);

給文本添加劃掉效果

textview.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
項(xiàng)目拉手團(tuán)購(gòu)開發(fā)記錄

代碼控制ScrollView的滾動(dòng)

scrollview.scrollTo(0,0);
scrollview.smoothScrollTo(0,0);

indeterminateOnly屬性

android:indeterminateOnly這個(gè)屬性如果設(shè)置為true,表示的是這個(gè)ProgressBar是模糊的,不明確的,也就是說,當(dāng)前它并沒有體現(xiàn)出具體的進(jìn)度,只是一直循環(huán)往復(fù)

11.11

自定義RatingBar

  • 關(guān)鍵屬性:progressDrawable,MaxHeight,MinHeight

添加點(diǎn)擊撥號(hào)功能

  • 直接開啟系統(tǒng)的撥號(hào)功能,在代碼中傳入需要撥打的號(hào)碼

    Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+"110"));

  • 跳轉(zhuǎn)到撥號(hào)界面

    Intent intent  = new Intent();
    		intent.setAction("android.intent.action.VIEW);
    		intent.setType("vnd.android.cursor.item/sim-contact");

控件懸停功能

  • 添加支付懸浮

    項(xiàng)目拉手團(tuán)購(gòu)開發(fā)記錄
  • 思路:

    • 當(dāng)scrollView上下滑動(dòng)時(shí),支付布局2有條件的Gone或者Visible。

    • Gone:默認(rèn)

    • Visible:此時(shí)scrollView滑動(dòng)的高度>=圖片控件的高度

    • 時(shí)時(shí)監(jiān)聽scrollView滑動(dòng)距離

    • 自定義ScrollView,并聲明一個(gè)設(shè)置監(jiān)聽的方法

    • 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);

	}

}

點(diǎn)擊查看詳情圖片

  • ViewPager + 圖片加載UIL + 黑色背景

城市列表以及城市定位

  • ListView

  • 字母索引(開源項(xiàng)目)

  1. 將所有數(shù)據(jù)按照字母排序

  2. 側(cè)邊字母索引

11.16

在xml中設(shè)置無(wú)ActionBar模式

  1. 在values文件下得styles文件中添加如下代碼:

<style name="NoBar" parent="android:Theme.Light.NoTitleBar"></style>
  1. 在values-v14文件夾下的styles中添加如下代碼:

<style name="NoBar" parent="android:Theme.Holo.Light.NoActionBar"></style>
  1. 在清單文件的application標(biāo)簽下添加:

android:theme="@style/NoBar"

dp,sp,px的關(guān)系

dp(dip): device independent pixels(設(shè)備獨(dú)立像素). 不同設(shè)備有不同的顯示效果,這個(gè)和設(shè)備硬件有關(guān),一般我們?yōu)榱酥С諻VGA、HVGA和QVGA 推薦使用這個(gè),不依賴像素。

dp也就是dip,這個(gè)和sp基本類似。如果設(shè)置表示長(zhǎng)度、高度等屬性時(shí)可以使用dp 或sp。但如果設(shè)置字體,需要使用sp。dp是與密度無(wú)關(guān),sp除了與密度無(wú)關(guān)外,還與scale無(wú)關(guān)。如果屏幕密度為160,這時(shí)dp和sp和px是一 樣的。1dp=1sp=1px,但如果使用px作單位,如果屏幕大小不變(假設(shè)還是3.2寸),而屏幕密度變成了320。那么原來TextView的寬度 設(shè)成160px,在密度為320的3.2寸屏幕里看要比在密度為160的3.2寸屏幕上看短了一半。但如果設(shè)置成160dp或160sp的話。系統(tǒng)會(huì)自動(dòng) 將width屬性值設(shè)置成320px的。也就是160 * 320 / 160。其中320 / 160可稱為密度比例因子。也就是說,如果使用dp和sp,系統(tǒng)會(huì)根據(jù)屏幕密度的變化自動(dòng)進(jìn)行轉(zhuǎn)換。

px: pixels(像素). 不同設(shè)備顯示效果相同,一般我們HVGA代表320x480像素,這個(gè)用的比較多。

pt: point,是一個(gè)標(biāo)準(zhǔn)的長(zhǎng)度單位,1pt=1/72英寸,用于印刷業(yè),非常簡(jiǎn)單易用;

sp: scaled pixels(放大像素). 主要用于字體顯示best for textsize。

在GridView中顯示網(wǎng)格的一種方法

  • 該網(wǎng)格線是通過設(shè)置GridView各子項(xiàng)的間隔,并分別設(shè)置GridView背景色與子項(xiàng)背景色實(shí)現(xiàn)的。

  • 實(shí)現(xiàn)方法

  1. 設(shè)置GridView背景色,設(shè)置水平間方向間隔屬性值android:horizontalSpacing和豎直方向間隔屬性值android:verticalSpacing

  2. 設(shè)置GridView子項(xiàng)背景色,要求 子項(xiàng)背景色跟GridView背景色不一致。

代碼中設(shè)置TextView中的圖片的方法

Drawable drawable= getResources().getDrawable(R.drawable.drawable);
// 這一步必須要做,否則不會(huì)顯示.
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
myTextview.setCompoundDrawables(drawable,null,null,null);

myTextview.setCompoundDrawablesWithIntrinsicBounds (Drawable left,Drawable top, Drawable right, Drawable bottom)

完善界面細(xì)節(jié)

耗時(shí)工程,以下省略一千字

自定義CheckBox的背景

使用xml屬性:button

使用Bmob開放接口

  • 添加手機(jī)驗(yàn)證碼登錄

ButterKnife的使用

查看GitHub上的源碼,知道了怎么使用CheckBox的監(jiān)聽

@OnCheckedChanged(R.id.simple_activity_checkbox)
    void onCheckedChanged(CompoundButton button, boolean checked) {
        Toast.makeText(this, "CheckBox Changed! " + checked, Toast.LENGTH_SHORT).show();
    }

給EditText添加監(jiān)聽

addTextChangedListener(TextWatcher watcher)方法對(duì)EditText實(shí)現(xiàn)監(jiān)

完成全部分類界面

完成我的拉手界面繪制

11.20

給自定義控件添加xml屬性

  • 如何使用自定義控件的屬性

  1. 在自定義控件中使用自定義屬性:app:contentSize=“10dp”

  1. 在布局中聲明新的命名空間:xmlns即xml name space??截恆ndroid命名控件,前面的Android改為app(可變),后面/android改為-auto。 xmlns:app="http://schemas.android.com/apk/res-auto"

如何定義自定義控件的屬性
  1. 拷貝ApiDemos中的attires.xml文件,保留LabelView屬性,刪除其他,并按需求修改命名。

  1. 在類文件中的兩個(gè)參數(shù)的構(gòu)造方法中讀取控件的屬性,代碼如下

  1. 參考ApiDemosresvaluesattrs.xml。步驟:

public MySideBar(Context context, AttributeSet attrs) { super(context, attrs);
// 添加屬性
//R.styleable.MySideBar就是剛剛在attrs.xml中定義的屬性
	TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attrs, R.styleable.MySideBar);	
// 讀具體的某個(gè)屬性
	dimen = obtainStyledAttributes.getDimension(R.styleable.MySideBar_contentSize, 20);		
//釋放內(nèi)存
	obtainStyledAttributes.recycle();
 }

ActiveAndroid保存一對(duì)多的數(shù)據(jù)類型

在location界面中添加城市搜索功能

思路:在location中添加一個(gè)ListView用于顯示搜索結(jié)果,定義一個(gè)容器儲(chǔ)存搜索匹配拼音的結(jié)果,為EditText添加輸入監(jiān)聽

  1. 修改布局,使用FrameLayout

  2. 關(guān)鍵代碼:

mSerach.addTextChangedListener(new TextWatcher() {

			@Override
			public void onTextChanged(CharSequence s, int start, int before,
					int count) {
				// 漢字的話要使用拼音庫(kù)
				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.add(city);
							serachAdapter.notifyDataSetChanged();
						}
					}
				}
			}

11.21

自定義頭像

升級(jí)ADT和SDK

  • ActionBarSherlock庫(kù)發(fā)生奇葩錯(cuò)誤,ERROR: In <declare-styleable> SherlockSpinner, unable to find attribute android:popupPromptView。解決:API版本不能大于19,于是我選擇用4.4.2來作為編譯的主力軍

11.22

分享到新浪微博

新浪微博授權(quán)成功時(shí)會(huì)得到一個(gè)Token

11.24

完成登錄功能

完成定位界面的點(diǎn)擊事件

顯示密碼

mInputPwd.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);//可見
mInputPwdConfirm.setInputType(InputType.TYPE_CLASS_TEXT
					| InputType.TYPE_TEXT_VARIATION_PASSWORD);//隱藏

11.25

收藏界面

  • 點(diǎn)擊隨便逛逛跳轉(zhuǎn)到周邊界面,使用了mTabHost.setCurrentTab(index);方法。

自定義RadioButton

關(guān)鍵屬性button,可以設(shè)成想要的按鈕樣式,設(shè)成@null的時(shí)候就看不到選框了

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

新聞標(biāo)題:項(xiàng)目拉手團(tuán)購(gòu)開發(fā)記錄-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://www.rwnh.cn/article38/cejesp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)網(wǎng)站營(yíng)銷、云服務(wù)器、商城網(wǎng)站網(wǎng)站收錄、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
阳高县| 林西县| 尼木县| 博野县| 营山县| 扶风县| 阿城市| 宿州市| 河北省| 开江县| 白城市| 盐亭县| 轮台县| 广宁县| 图们市| 高邮市| 宁海县| 佳木斯市| 临高县| 邢台县| 岫岩| 遂宁市| 上虞市| 岐山县| 新化县| 忻城县| 龙州县| 修水县| 荥经县| 阿拉尔市| 定襄县| 白水县| 黎城县| 互助| 茶陵县| 宁晋县| 乳山市| 五家渠市| 托克逊县| 特克斯县| 石城县|