http://blog.duicode.com/category/bianchengxuexi/android/page/2

“封裝”的概念。
——————————–
封裝是面向對象的三大特徵(封裝、繼承、多態)之一。
封裝的具體表現是“裝”與“封”。
裝:將一組相關的屬性和方法編寫在一個類中。
封:使用相對比較嚴格的訪問權限修飾各個屬性,並提供相對寬鬆的set和get方法。

訪問權限修飾符:用於修飾類的成員,當修飾普通的類時,只能使用public或者默認權限(即沒有修飾符)。
public:任意訪問
protected:同包的各個類之間,子類可以訪問
(空):同包的各個類之間可以訪問
private:僅類的內部可以訪問

關於“仿團購APP的底部菜單_2”
———————————-
反覆點擊同一個按鈕,不應該反覆執行代碼:
1. 如果已經點擊了“團購”,則禁用“團購”按鈕,啓用其它按鈕
2. 重新配置各按鈕圖片的selector,如果禁用(android:state_enabled=false),則顯示爲彩色,如果啓用(android:state_enabled=true),則顯示黑白

ListView控件:列表控件
——————————–
ListView是以列表的形式呈現數據的控件,表現爲控件內部的數據呈“橫排”排列,且每條數據都比較相似。

顯示ListView的4個要素
——————————–
1. ListView控件,容器,用於承載若干個列表項
2. 數據,通常是List集合,用於確定需要顯示在列表中的數據內容
3. 模板,即res\layout下的xml文件,用於約定每一條數據呈現的樣式
4. Adapter,適配器,作用是“組裝工人”,用於組裝每一條數據與模板,得到需要顯示的內容,最後這些內容將顯示在ListView中

開發ListView的流程
——————————–
1. 在activity_main.xml中,添加節點,並配置android:id、android:layout_width、android:layout_height屬性
2. 聲明並初始化ListView
3. 聲明List集合,用於保存需要顯示的數據,並創建對象,添加數據
4. 在res\layout下,創建新的xml文件,如果使用ArrayAdapter,則根節點選擇TextView,如果使用其它Adapter,則自由設計
5.
如果使用ArrayAdapter,聲明ArrayAdapter,並創建對象,構造方法的第1個參數爲MainActivity.this,第2個參數爲R.layout.???(步驟4創建的文件),第3個參數爲List集合(步驟3創建的對象)
如果使用SimpleAdapter,則聲明,並通過構造方法創建對象,其中,構造方法的第1個參數爲MainActivity.this,第2個參數爲數據(步驟3創建的對象),第3個參數爲R.layout.???(步驟4創建的文件),第4個參數爲String[],值爲Map中各個key,例如{ “name”, “number” },第5個參數爲int[],值爲模板中顯示數據的控件的ID,例如{ R.id.tv_contact_item_name, R.id.tv_contact_item_number }
6. 調用ListView對象的setAdapter()方法,爲ListView配置Adapter,該方法的參數爲步驟5創建的對象

ArrayAdapter
——————————–
優點:
簡單
缺點:
模板單一,控件單一,只能顯示數據單一的列表

SimpleAdapter
——————————–
優點:
簡單,模板雖然單一,但是可以自由設計,可以在每一個列表項中呈現多種數據
缺點:
模板單一,只能使用固定的1個模板

BaseAdapter
——————————–
優點:
自由度大
缺點:
難度大

語言國際化自適應
——————————–
語言國際化自適應:當設備的使用者切換設備的語言環境時,APP上顯示的字符串也會自動更換語言種類。即當用戶設置爲中文環境時,APP顯示中文,當用戶設置被英文環境時,APP顯示英文。
語言國際化自適應的原理是:系統會根據語言環境,優先選取某些values-???文件夾下的string資源的配置,例如中文環境時,優先選取values-zh文件夾下的string資源,而英文環境時則優先選取values-en文件夾下的string資源。
實現語言國際化自適應的values文件夾名稱的格式是:
values-小寫語言簡稱-r大寫地區簡稱
其中,“-r大寫地區簡稱”可以忽略。
例如:values-zh-rCN

圖片尺寸自適應
——————————–
圖片尺寸自適應:系統根據設備的屏幕尺寸和分辨率,自動優先選取某drawable-???下的圖片。
系統會根據設備的尺寸和分辨率得到設備的顯示密度,不同的密度值則對應不同的?dpi,例如密度值在160則爲ldpi,密度值在240時則爲mdpi,密度值爲320時爲hdpi⋯⋯
實現過程:爲不同的顯示密度設計不同分辨率的圖片,並把相同的圖片使用相同的文件名存放在不同的drawable文件夾下即可,當APP運行時,系統會自動優先選取。

selector:背景選擇器
——————————–
selector可以讓控件在不同的狀態(按下了、選中了、啓用了⋯⋯)下顯示不同的效果。
selector是在res\drawable下配置的XML文件。
應用selector時,需要將它設置在控件的圖形相關屬性上,例如背景屬性。
【注意】在配置selector時,沒有顯式的定義state的能匹配所有狀態,基於Android系統解析XML是從上之下,且懶漢式的解析,如果把這樣的放在代碼靠前的位置,則會導致後續配置的節點無效。所以,沒有定義state的必須位於最後!

請詳細描述“內存”的作用。
Cache -> 高速緩存:用於存儲中間結果
ROM -> Read Only Memory
RAM -> Random Access Momory -> 隨機存取存儲器:內存條,用於存儲正在執行的程序和數據,內存是CPU與所有外部設備交換數據的“橋樑”,斷電以後數據將全部丟失!

ImageView:圖片顯示控件
———————————-
ImageView是用於顯示圖片的控件
屬性:
android:src -> 需要顯示的圖片的來源,取值通常爲 @drawable/???
android:contentDescription -> 使用文字對圖片進行描述,如果不想設置,可以取值爲 @null
android:scaleType -> 圖片的縮放模式,當圖片的尺寸與ImageView的尺寸不符時有效,取值爲枚舉類型

ImageButton:圖片按鈕控件
———————————-
參考ImageView

CheckBox:複選框
———————————-
CheckBox是可以在一組CheckBox勾選其中的若干項的控件。
CheckBox是TextView的間接子類。
屬性:
android:checked -> 默認是否勾選,取值爲true/false
監聽器:
CompoundButton.OnCheckedChangedListener

RadioButton:單選按鈕
———————————-
RadioButton用於在一組選項中能夠選取有且僅有其中1項。
RadioButton是CompoundButton的子類,也是TextView的間接子類。
RadioGroup是RadioButton的容器,是LinearLayout的子類。
只有同一個RadioGroup的若干個子級RadioButton纔是互斥的。
每一個RadioButton不可以通過反覆點擊取消選中,只能通過選中其它的互斥項纔可以取消選中。
屬性:
android:checked -> 默認是否勾選,取值爲true/false

Eclipse的常用快捷鍵
———————————-
alt + / -> 自動提示,如果代碼有錯誤,則可能無效
Ctrl + Shift + F -> 代碼格式化(排版),如果使用中文輸入法,則可能無效
Ctrl + Shift + O -> 整理import代碼
alt + 向上/向下 -> 光標所在行的代碼向上/向下移動1行
Ctrl + alt + 向上/向下 -> 將光標所在行的代碼向上/向下複製
Ctrl + D -> 刪除光標所在行的代碼
Ctrl + 2, R -> 批量重命名
Shift + 回車 -> 向下產生新的空白行,並且光標移動到該行

仿團購APP的底部菜單
———————————
1. 拖拽RadioGroup和RadioButton的組合到界面中
2. 確保RadioGroup中有4個RadioButton
3. 修改各控件的ID
4. 整理RadioGroup的屬性,並設置爲水平線性佈局
5. 修改每一個RadioButton的android:text屬性
6. 修改每一個RadioButton的android:layout_width爲match_parent或者0dp,並且添加android:layout_weight=”1″
7. 爲每一個RadioButton添加android:button=”@null”
8. 爲每一個radioButton添加android:gravity=”center|center”
9. 將素材圖片複製,並粘貼到drawable-xhdpi下(粘貼到其它drawable-?dpi下也可以)
10. 爲每一個RadioButton添加android:drawableTop屬性,取值爲@drawable/???
11. 刪除界面根節點的4個padding屬性
12. 其它設置,例如android:paddingTop、android:paddingBottom、android:drawablePadding、android:textSize
13. 爲每一個RadioButton設計selector,設計完成後,修改android:drawableTop屬性,取值爲對應的selector
14. 創建文字顏色的selector,爲每一個RadioButton添加android:textColor屬性,取值爲文字顏色的selector

關於layout_weight
layout_weight表示控件佔據剩餘寬度/高度的比重。
小結:
1. 把控件的寬度/高度設置爲match_parent,則layout_weight屬性值表現爲控件實際佔據寬度/高度的反比;
2. 把控件的寬度/高度設置爲0dp,則layout_weight屬性值表現爲控件實際佔據寬度/高度的正比。

Android項目結構
—————————————
src:Java源代碼
gen:自動生成的Java源代碼,不可修改
assets:(無視)外部文件
bin:(無視)運行的目標文件,例如.apk文件
libs:使用的庫或者jar包
res:資源文件
AndroidManifest.xml:項目清單文件
project.properties:屬性配置,例如編譯版本

Android項目的啓動流程
—————————————
1. 檢索AndroidManifest.xml文件,查找帶有




配置的節點,並根據該節點的name屬性確定需要啓動的Activity類
2. 創建Activity類的對象,並自動調用onCreate()方法,並通過setContentView()方法加載界面,該方法的參數即需要加載的界面佈局

LinearLayout:線性佈局
—————————————
特徵:
1. 直接子級佈局的控件按照代碼的順序先後排列
2. 直接子級佈局的控件可以按照比例分配尺寸
屬性:
android:orientation -> 佈局方向,取值爲vertical或者horizontal,前者表示子級佈局的控件垂直方向(從上至下)排列,後者表示子級佈局的控件水平方向(從左至右)排列
Ps:線性佈局的直接子級佈局的控件可以配置如下屬性:
android:layout_weight -> 權重/比例,取值爲整數
android:layout_gravity -> 對齊方式,取值爲left、right、top、bottom、center,或者其中2個不衝突的值組合起來,例如top|left

RelativeLayout:相對佈局
—————————————
特徵:
1. 每個控件都可以使用其它控件作爲參考點,從而決定自身的尺寸或者位置
2. 必須首先確定1個不以其它控件作爲參考點,而是可以直接確定自身的尺寸和位置的控件
3. 當控件沒有使用參考點控件時,默認以根佈局作爲參考點,且靠左對齊,靠上對齊
4. 相對佈局中的子級佈局控件可以重疊
屬性:
(沒有)
相對佈局的子級控件的屬性:
1. android:layout_alignParentLeft -> 對齊父級控件的左側邊緣,取值爲true或者false
2. android:layout_alignParentRight -> 對齊父級控件的右側邊緣,取值同上
3. android:layout_alignParentTop -> 對齊父級控件的頂部邊緣,取值同上
4. android:layout_alignParentBottom -> 對齊父級控件的底部邊緣,取值同上
5. android:layout_centerHorizontal -> 在父級控件範圍內水平方向居中對齊,取值同上
6. android:layout_centerVertical -> 在父級控件範圍內容垂直方向居中對齊,取值同上
7. android:layout_centerInParent -> 在父級控件範圍內水平方向和垂直方向均居中對齊,取值同上
8. android:layout_alignTop -> 與其它某個控件的頂部在垂直方向對齊,取值爲其它控件的id
9. android:layout_alignBottom -> 與其它某個控件的底部在垂直方向對齊,取值同上
8. android:layout_alignLeft -> 與其它某個控件的左側在水平方向對齊,取值同上
9. android:layout_alignRight -> 與其它某個控件的右側在水平方向對齊,取值同上
10. android:layout_toLeftOf -> 設置控件在水平方向的位置在其它某個控件的左側,取值同上
11. android:layout_toRightOf -> 設置控件在水平方向的位置在其它某個控件的右側,取值同上
12. android:layout_above -> 設置控件在垂直方向的位置在其它某個控件的上方,取值同上
13. android:layout_below -> 設置控件在垂直方向的位置在其它某個控件的下方,取值同上
Ps:
1. 當以其它控件作爲參考點,其它控件必須與自身是同級(擁有相同的直接父級控件)控件
2. 不可以互相參考

TextView:文本顯示控件
—————————————
特徵:
用於顯示字符串的控件
屬性:
1. android:text -> 控件上顯示的文本,取值可以使字符串,或者@string/???
2. android:gravity -> 文本在控件內部的對齊方式,取值參考android:layout_gravity屬性
3. android:textSize -> 文本尺寸,取值爲以sp爲單位的數值,例如14sp,數值建議不小於10,也可以取值爲@dimen/???
4. android:textColor -> 文本顏色,取值爲RGB顏色值,或者@color/???
5. android:singleLine -> 單行顯示,即當文字在控件內1行顯示不下時,應該如何處理,取值爲true或者false,取值爲true時,將不顯示超出的部分,取值爲false時,將在控件可用範圍內繼續顯示。

EditText:文本輸入框控件
—————————————
特徵:
可以使用該控件輸入字符
EditText是TextView的子類
屬性:
1. android:inputType -> 輸入的字符類型,取值爲枚舉類型,例如text、textPassword、number、phone
2. android:hint -> 提示文字,當該控件內沒有輸入任何內容時的提示問題,取值參考android:text屬性
3. android:textColorHint -> 提示文字的顏色,取值參考android:textColor屬性
Ps:
1. 如果某個EditText控件存在子級節點則表示該EditText默認獲取到焦點,即光標定位在該EditText控件上

Button:按鈕控件
—————————————
特徵:
用於用戶點擊的按鈕
Button是TextView的子類
屬性:
(無)
Ps:
1. Button控件默認存在android:minWidth和android:minHeight屬性

RGB顏色與ARGB顏色
—————————————
RGB顏色是以#作爲前綴,使用6位十六進制數表示的顏色,例如#FF0000、#00FF00、#0000FF,在表示顏色時,字母不區分大小寫
ARGB顏色是在RGB的基礎上,最左側多使用了2位十六進制數表示的顏色,A表示alpha,即透明度,alpha位置取值爲ff時表示完全不透明,取值爲00時表示完全透明。

隱藏默認的標題欄
—————————————
打開AndroidManifest.xml文件,找到需要去掉標題欄的節點,配置android:theme屬性,然後,爲Activity配置帶有NoTitleBar或NoActionBar字樣的主題,例如android:theme=”@android:style/Theme.Holo.Light.NoTitleBar”

Android 佈局是應用界面開發的重要一環,在Android中,共有五種佈局方式,分別是:LinearLayout(線性佈局),FrameLayout(單幀佈局),AbsoluteLayout(絕對佈局),RelativeLayout(相對佈局),TableLayout(表格佈局)。
下面先分別介紹一下每種佈局的基本概念:
LinearLayout:線性佈局,可分爲垂直佈局(android:orientation=”vertical”)和水平佈局(android:orientation=”horizontal” ),在LinearLayout裏面可以放多個控件,但是一行(列)只能放一個控件。
FrameLayout:單幀佈局,所有控件都放置在屏幕左上角(0,0),可以放多個控件,但是會按控件定義的先後順序依次覆蓋,後一個會直接覆蓋在前一個之上顯示,如果後放的比之前的大,會把之前的全部蓋住(類似於一層層的紙張)。
AbsoluteLayout:絕對佈局,可以直接指定子控件的絕對位置(例如: android:layout_x=”60px” android:layout_y=”32px” ),這種佈局簡單直接,但是由於手機的分辨率大小不統一,絕對佈局的適應性比較差。
RelativeLayout:相對佈局,其子控件是根據所設置的參照控件來進行佈局的,設置的參照控件可以是父控件,也可以使其他的子控件。
TableLayout:表格佈局,是以行列的形式來管理子控件的,在表格佈局中的每一行可以是一個View控件或者是一個TableRow控件。而TableRow控件中還可以添加子控件。

Android按鈕按下時改變顏色的方法有很多種,這個只是其中的一種方法,我覺得這個還是比較簡單的,這裏提供一下代碼

首先需要創建一個按鈕

然後在values下的strings.xml中設置顏色的值

然後在drawable中創建一個button_select.xml的文件,在裏面設置按下前和按下後的顏色

這樣就可以做到按鈕按下改變顏色的效果了。

Android開發中常用的佈局方式介紹

在安卓開發中我們常用的佈局方式有這麼幾種:

  1.LinearLayout ( 線性佈局 ) :(裏面只可以有一個控件,並且不能設計這個控件的位置,控件會放到左上角)

  線性佈局分爲水平線性和垂直線性二者的屬性分別爲: android:orientation= ” horizontal ” android:orientation= “vertical” 。

  2.RelativeLayout ( 相對佈局 ) : (裏面可以放多個控件,但是一行只能放一個控件)

  附加幾類 RelativeLayout 的屬性供大家參考:

  第一類 : 屬性值爲 true 或 false

  android:layout_centerHrizontal 水平居中

  android:layout_centerVertical 垂直居中

  android:layout_centerInparent 相對於父元素完全居中

  android:layout_alignParentBottom 貼緊父元素的下邊緣

  android:layout_alignParentLeft 貼緊父元素的左邊緣

  android:layout_alignParentRight 貼緊父元素的右邊緣

  android:layout_alignParentTop 貼緊父元素的上邊緣

  android:layout_alignWithParentIfMissing 若找不到兄弟元素以父元素做參照物

  第二類:屬性值必須爲 id 的引用名“ @id/id-name ”

  android:layout_below 在某元素的下方

  android:layout_above 在某元素的上方

  android:layout_toLeftOf 在某元素的左邊

  android:layout_toRightOf 在某元素的右邊

  android:layout_alignTop 本元素的上邊緣和某元素的的上邊緣對齊

  android:layout_alignLeft 本元素的左邊緣和某元素的的左邊緣對齊

  android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對齊

  android:layout_alignRight 本元素的右邊緣和某元素的的右邊緣對齊

  第三類:屬性值爲具體的像素值,如 30dip , 40px

  android:layout_marginBottom 離某元素底邊緣的距離

  android:layout_marginLeft 離某元素左邊緣的距離

  android:layout_marginRight 離某元素右邊緣的距離

  android:layout_marginTop 離某元素上邊緣的距離

  3.TableLayout ( 表格佈局 ) : (這個要和TableRow配合使用,很像html裏面的table)

  這個表格佈局不像HTML中的表格那樣靈活,只能通過 TableRow 屬性來控制它的行而列的話裏面有幾個控件就是幾列(一般情況)。 如:

  表示兩行兩列的一個表格。

  android:gravity=”center” 書面解釋是權重比。其時就是讓它居中顯示。它還可以動態添加里面的每行每列。如下代碼所示:

  /*根據id查找表格對象*/

  TableLayout tableLayout = (TableLayout) findViewById(R.id.table01);

  /*創建列對象*/

  TableRow tableRow = new TableRow(this);

  /*文本框對象*/

  TextView temp = new TextView(this);

  temp.setText(“text的值”);

  /*將此文本添加到列中*/

  tableRow.addView(temp);

  android:stretchColumns=”1,2,3,4″ 它的意思就是自動拉伸1,2,3,4列。

  4.AbsoluteLayout ( 絕對佈局 ) : (裏面可以放多個控件,並且可以自己定義控件的x,y的位置)

  5.FrameLayout ( 幀佈局 ) :(裏面可以放多個控件,不過控件的位置都是相對位置)

  在它裏面的控件都是按後面的一個控件疊加在前一個控件上來顯示的,所有元素都被放置在最左上角。 如:

  表示的是id爲f1的控件疊加在id爲iv1的控件上面顯示

  (LinearLayout 和 RelativeLayout 應該又是其中用的較多的兩種。AbsoluteLayout 比較少用,因爲它是按屏幕的絕對位置來佈局的如果屏幕大小發生改變的話控件的位置也發生了改變。這個就相當於HTML中的絕對佈局一樣,一般不推薦使用 )

  注意事項:

  1 、各佈局不要亂用各自的屬性。比如把屬於 AbsoluteLayout 佈局的android:layout_x和android:layout_y用到 LinearLayout 佈局或 RelativeLayout 佈局,或者把 RelativeLayout 佈局的 below , rightof 等屬性應用到其他佈局中。這樣做雖然不會報錯,但這是白浪費感情的工作,根本達不到我們需要的效果。

  2 、關於android:layout_width=”fill_parent” 和 android:layout_height=”wrap_content” ,這是對每個佈局寬和高的設置。 wrap_content 可表示隨着其中控件的不同而改變這個佈局的寬度或高度,類似於自動設置寬和高, fill_parent 使佈局填充整個屏幕,另外還有一種 match_parent ,它本質上和 fill_parent 一樣,並從 API Level8 開始替代 fill_parent 。

  TextView 的屬性 :

  android:autoLink //設置是否當文本爲URL鏈接/email/電話號碼/map時,文本顯示爲可點擊的鏈接。可選值(none/web /email/phone/map/all)

  android:autoText //如果設置,將自動執行輸入值的拼寫糾正。此處無效果,在顯示輸入法並輸入的時候起作用

  android:bufferType //指定getText()方式取得的文本類別。選項editable 類似於StringBuilder可追加字符,也就是說getText後可調用append方法設置文本內容。spannable 則可在給定的字符區域使用樣式

  android:capitalize //設置英文字母大寫類型。此處無效果,需要彈出輸入法才能看得到,參見EditView此屬性說明

  android:cursorVisible //設定光標爲顯示/隱藏,默認顯示

  android:digits //設置允許輸入哪些字符。如“1234567890.+-*/% ()”

  android:drawableBottom //在text的下方輸出一個drawable,如圖片。如果指定一個顏色的話會把text的背景設爲該顏色,並且同時和background使用時覆蓋後者

  android:drawableLeft //在text的左邊輸出一個drawable,如圖片

  android:drawablePadding //設置text與drawable(圖片)的間隔,與drawableLeft、 drawableRight、drawableTop、drawableBottom一起使用,可設置爲負數,單獨使用沒有效果

  android:drawableRight //在text的右邊輸出一個drawable

  android:drawableTop //在text的正上方輸出一個drawable

  android:editable //設置是否可編輯

  android:editorExtras //設置文本的額外的輸入數據

  android:ellipsize //設置當文字過長時,該控件該如何顯示。有如下值設置:”start”—?省略號顯示在開頭;”end” ——省略號顯示在結尾;”middle”—-省略號顯示在中間;”marquee” ——以跑馬燈的方式顯示(動畫橫向移動)

  android:freezesText //設置保存文本的內容以及光標的位置

  android:gravity //設置文本位置,如設置成“center”,文本將居中顯示

  android:hintText //爲空時顯示的文字提示信息,可通過textColorHint設置提示信息的顏色。此屬性在 EditView中使用,但是這裏也可以用

  android:imeOptions //附加功能,設置右下角IME動作與編輯框相關的動作,如actionDone右下角將顯示一個“完成”,而不設置默認是一個回車符號。這個在EditView中再詳細說明,此處無用

  android:imeActionId //設置IME動作ID

  android:imeActionLabel //設置IME動作標籤

  android:includeFontPadding //設置文本是否包含頂部和底部額外空白,默認爲true

  android:inputMethod //爲文本指定輸入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是這裏報錯找不到

  android:inputType //設置文本的類型,用於幫助輸入法顯示合適的鍵盤類型。在EditView中再詳細說明,這裏無效果

  android:linksClickable //設置鏈接是否點擊連接,即使設置了autoLink

  android:marqueeRepeatLimit //在ellipsize指定marquee的情況下,設置重複滾動的次數,當設置爲 marquee_forever時表示無限次

  android:ems //設置TextView的寬度爲N個字符的寬度。這裏測試爲一個漢字字符寬度

  android:maxEms //設置TextView的寬度爲最長爲N個字符的寬度。與ems同時使用時覆蓋ems選項

  android:maxLength //限制顯示的文本長度,超出部分不顯示

  android:lines //設置文本的行數,設置兩行就顯示兩行,即使第二行沒有數據

  android:maxLines //設置文本的最大顯示行數,與width或者layout_width結合使用,超出部分自動換行,超出行數將不顯示

  android:minLines //設置文本的最小行數,與lines類似

  android:lineSpacingExtra //設置行間距

  android:lineSpacingMultiplier //設置行間距的倍數。如”$2

  android:numeric //如果被設置,該TextView有一個數字輸入法。此處無用,設置後唯一效果是TextView有點擊效果,此屬性在EdtiView將詳細說明

  android:password //以小點”.”顯示文本 android:phoneNumber設置爲電話號碼的輸入方式

  android:privateImeOptions //設置輸入法選項,此處無用,在EditText將進一步討論

  android:scrollHorizontally //設置文本超出TextView的寬度的情況下,是否出現橫拉條

  android:selectAllOnFocus //如果文本是可選擇的,讓他獲取焦點而不是將光標移動爲文本的開始位置或者末尾位置。TextView中設置後無效果

  android:shadowColor //指定文本陰影的顏色,需要與shadowRadius一起使用

  android:shadowDx //設置陰影橫向座標開始位置

  android:shadowDy //設置陰影縱向座標開始位置

  android:shadowRadius //設置陰影的半徑。設置爲0.1就變成字體的顏色了,一般設置爲3.0的效果比較好

  android:singleLine //設置單行顯示。如果和layout_width一起使用,當文本不能全部顯示時,後面用“…”來表示。如android:text=”test_ singleLine ” android:singleLine=”true” android:layout_width=”20dp”將只顯示“t…”。如果不設置singleLine或者設置爲false,文本將自動換行 android:text設置顯示文本. android:textAppearance設置文字外觀。如 “?android:attr/textAppearanceLargeInverse”這裏引用的是系統自帶的一個外觀,?表示系統是否有這種外觀,否則使用默認的外觀。可設置的值如下:
textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse
/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse

  android:textColor //設置文本顏色

  android:textColorHighlight //被選中文字的底色,默認爲藍色

  android:textColorHint //設置提示信息文字的顏色,默認爲灰色。與hint一起使用。

  android:textColorLink //文字鏈接的顏色.

  android:textScaleX //設置文字之間間隔,默認爲$2。

  android:textSize //設置文字大小,推薦度量單位”sp”,如”15sp”

  android:textStyle //設置字形[bold(粗體) 0, italic(斜體) 1, bolditalic(又粗又斜) 2] 可以設置一個或多個,用“|”隔開

  android:typeface //設置文本字體,必須是以下常量值之一:normal 0, sans 1, serif 2, monospace(等寬字體) 3]

  android:height //設置文本區域的高度,支持度量單位:px(像素)/dp/sp/in/mm(毫米)

  android:maxHeight //設置文本區域的最大高度

  android:minHeight //設置文本區域的最小高度

  android:width //設置文本區域的寬度,支持度量單位:px(像素)/dp/sp/in/mm(毫米),與layout_width 的區別看這裏

  android:maxWidth //設置文本區域的最大寬度

  android:minWidth //設置文本區域的最小寬度 android佈局屬性詳解 RelativeLayout用到的一些重要的屬性:第一類:屬性值爲true或false

  android:layout_centerHrizontal //水平居中

  android:layout_centerVertical //垂直居中

  android:layout_centerInparent //相對於父元素完全居中

  android:layout_alignParentBottom //貼緊父元素的下邊緣

  android:layout_alignParentLeft //貼緊父元素的左邊緣

  android:layout_alignParentRight //貼緊父元素的右邊緣

  android:layout_alignParentTop //貼緊父元素的上邊緣

  android:layout_alignWithParentIfMissing //如果對應的兄弟元素找不到的話就以父元素做參照物 第二類:屬性值必須爲id的引用名“@id/id-name”

  android:layout_below //在某元素的下方

  android:layout_above //在某元素的的上方

  android:layout_toLeftOf //在某元素的左邊

  android:layout_toRightOf //在某元素的右邊

  android:layout_alignTop //本元素的上邊緣和某元素的的上邊緣對齊

  android:layout_alignLeft //本元素的左邊緣和某元素的的左邊緣對齊

  android:layout_alignBottom //本元素的下邊緣和某元素的的下邊緣對齊

  android:layout_alignRight //本元素的右邊緣和某元素的的右邊緣對齊 第三類:屬性值爲具體的像素值,如30dip,40px

  android:layout_marginBottom //離某元素底邊緣的距離

  android:layout_marginLeft //離某元素左邊緣的距離

  android:layout_marginRight //離某元素右邊緣的距離

  android:layout_marginTop //離某元素上邊緣的距離 EditText的android:hint 設置EditText爲空時輸入框內的提示信息

  android:gravity //屬性是對該view 內容的限定.比如一個button 上面的text. 你可以設置該text 在view的靠左,靠右等位置.以button爲例,android:gravity=”right”則button上面的文字靠右 android:layout_gravity android:layout_gravity是用來設置該view相對與起父view 的位置.比如一個button 在linearlayout裏,你想把該button放在靠左、靠右等位置就可以通過該屬性設置.以button爲例,android:layout_gravity=”right”則button靠右 android:layout_alignParentRight 使當前控件的右端和父控件的右端對齊。這裏屬性值只能爲true或false,默認false。 android:scaleType: android:scaleType是控制圖片如何resized/moved來匹對ImageView的size。 ImageView.ScaleType / android:scaleType值的意義區別: CENTER /center 按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則截取圖片的居中部分顯示 CENTER_CROP / centerCrop 按比例擴大圖片的size居中顯示,使得圖片長(寬)等於或大於View的長(寬) CENTER_INSIDE / centerInside 將圖片的內容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬 FIT_CENTER / fitCenter 把圖片按比例擴大/縮小到View的寬度,居中顯示 FIT_END / fitEnd 把圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置 FIT_START / fitStart 把圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置 FIT_XY / fitXY 把圖片不按比例擴大/縮小到View的大小顯示 MATRIX / matrix 用矩陣來繪製,動態縮小放大圖片來顯示。 ** 要注意一點,Drawable文件夾裏面的圖片命名是不能大寫的

  Edittext 的屬性 : EditText繼承關係:View–>TextView–>EditText。 EditText 的屬性很多,這裏介紹幾個: android:layout_gravity=”center_vertical” //設置控件顯示的位置:默認top,這裏居中顯示,還有bottom android:hint=”請輸入數字!” //設置顯示在空間上的提示信息 android:numeric=”integer” //設置只能輸入整數,如果是小數則是:decimal android:singleLine=”true” //設置單行輸入,一旦設置爲true,則文字不會自動換行。 android:password=”true” //設置只能輸入密碼 android:textColor = “#ff$200″ //字體顏色 android:textStyle=”bold” //字體,bold, italic, bolditalic android:textSize=”20dip” //大小 android:capitalize = “characters” //以大寫字母寫 android:textAlign=”center” //EditText沒有這個屬性,但TextView有,居中 android:textColorHighlight=”#cccccc” //被選中文字的底色,默認爲藍色 android:textColorHint=”#ffff00″ //設置提示信息文字的顏色,默認爲灰色 android:textScaleX=”1.5″ //控制字與字之間的間距 android:typeface=”monospace” //字型,normal, sans, serif, monospace android:background=”@null” //空間背景,這裏沒有,指透明 android:layout_weight=”1″ //權重,控制控件之間的地位,在控制控件顯示的大小時蠻有用的。 android:textAppearance=”?android:attr/textAppearanceLargeInverse”

  1.EditText默認不彈出軟件鍵盤

  方法一:

  在 AndroidMainfest.xml中選擇哪個activity,設置windowSoftInputMode屬性爲 adjustUnspecified|stateHidden

  android:windowSoftInputMode=”adjustUnspecified|stateHidden”

  方法二:

  讓 EditText失去焦點,使用EditText的clearFocus方法

  edit.clearFocus();

  方法三:

  強制隱藏Android輸入法窗口

  例如:EditText edit=(EditText)findViewById(R.id.edit);

  InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);

  imm.hideSoftInputFromWindow(edit.getWindowToken(),0);

  2.EditText始終不彈出軟件鍵盤

  例:EditText edit=(EditText)findViewById(R.id.edit);

  edit.setInputType(InputType.TYPE_NULL);

  Button 繼承自 VIEW , VIEW 有的屬性它都能用

  這裏 left 和 right 控制的是 Button 上的字體與按鈕的左邊緣和右邊緣的距離,也就是控制按鈕是長還是短;這裏的 top 和 bottom 控制的是 Button 上的字體與按鈕的上邊緣和下邊緣的距離,也就是控制按鈕時高還是矮。

  Shape 樣式圓滑效果:

  CheckBox

  RadioGroup

  Spinner

  TimePicker

  ScrollView

  ProgressBar

  RatingBar

  ImageView

  ImageButton android:background=”#00000000″ //設置背景圖空白的部分直接透視背景

  ImageSwicher&Gallery

  GradView

  Tab

  Menu

eclipse android adt安裝後菜單欄沒有相應的插件

搭建android開發平臺時,安裝好eclipse後,安裝adt插件,提示安裝成功,重啓軟件後再windows->preference裏面有android選項,新建project裏面也有這個關於android的選項,但我可以確保java開發包和android sdk都安裝成功了啊,爲什麼啊,都換了好幾個eclipse了。

答:如果安裝過程沒錯,直接在Eclipse ->window->customize Perpective(定製視圖)->Command Groups Availability 然後把以andorid 開頭全部選項就可以了

eclipse安裝ADT插件重啓後不顯示Android SDK Manager和Android Virtual Device Manager圖標的一種解決辦法
在正確安裝ADT插件重啓後如果沒找到想要的圖標,請做如下操作:

(檢查是否正確安裝的一種方式:打開Window——>Preferences屬性,如果看到了名爲Android的內容,就基本說明ok了)

打開 Eclipse ->window->costomize Perpective(定做透視圖)->Command Groups Availability選項卡,將如下圖中標識的複選框選中即可

adt

在Mac OS上使用HAXM加速Android Emulator

爲了解決Emulator啓動和運行很慢的問題,當然使用對Mac上android emulator進行加速的軟件HAXM(Hardware Accelerated Execution Manager)。HAXM利用硬件上的Intel VT技術,加速emulator的運行,類似於KVM加速QEMU。

使用的基本步驟如下(更詳細的,請閱讀本文後面的參考資料):
1. 下載和安裝HAXM
下載地址爲:http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/
(或者使用Andorid SDK Manager來選擇下載)
其安裝步驟,也沒啥特別的,和多數Mac程序一樣,一步一步安裝即可。

2. 查看HAXM:
安裝好HAXM後,默認就是真長使用了,可以使用如下命令查看HAXM是否在運行:

$kextstat | grep intel

3. 啓動和停止HAXM:
啓動和停止HAXM的命令如下:

# Start:
sudo kextload –b com.intel.kext.intelhaxm

#Stop:
sudo kextunload –b com.intel.kext.intelhaxm

Android SDK代理服務器解決國內不能更新下載問題

國內高校的開源鏡像站

中國科學技術大學(debian.ustc.edu.cn)
上海交通大學(ftp.stju.edu.cn)
大連理工大學(mirror.dlut.edu.cn)
北京交通大學(mirror.bjtu.edu.cn)
北京理工大學(mirror.bit.edu.cn)
東北大學(mirror.neu.edu.cn)
廈門大學(mirrors.xmu.edu.cn)
蘭州大學(mirror.lzu.edu.cn)
西安電子科技大學(linux.xidian.edu.cn)
哈爾濱工業大學(run.hit.edu.cn)
天津大學(mirror.tju.edu.cn)
東軟信息學院(mirrors.neusoft.edu.cn)
電子科技大學(mirrors.stuhome.net)

國內其他機構的開源鏡像站

中國互聯網信息中心(mirrors.cnnic.cn) 只提供了Apache鏡像
網易開源鏡像站(mirrors.163.com)
搜狐(mirrors.sohu.com)
淘寶(ruby.taobao.org)
貓撲(labs.mop.com/apache-mirror) 只提供了Apache鏡像

日本各大學的鏡像站

北陸先端科學技術大學院大學JAIST(http://ftp.jaist.ac.jp/pub/)

美國各大學的鏡像站

卡內基梅隆大學CMU(http://www.club.cc.cmu.edu/pub)
麻省理工學院MIT(http://mirrors.mit.edu/)
哥倫比亞大學(http://mirror.cc.columbia.edu/)
俄勒岡州立大學(http://ftp.osuosl.org/pub)
伊利諾伊大學厄巴納-香檳分校(http://cosmos.cites.illinois.edu/)
杜克大學(http://archive.linux.duke.edu/)
約翰·霍普金斯大學 http://mirrors.acm.jhu.edu/
更多信息請查看:http://www.oschina.net/news/38492/mirrors-tsinghua-will-close

臨時推薦幾個國內的鏡像:

大連東軟信息學院鏡像服務器地址:http://mirrors.neusoft.edu.cn 端口:80 (此處可以參考:http://mirrors.neusoft.edu.cn/more.we給出的配置,即之前本篇文章推薦的第三種方式)
北京化工大學鏡像服務器地址:IPv4: http://ubuntu.buct.edu.cn/ 端口:80
IPv4: http://ubuntu.buct.cn/ 端口:80
IPv6: http://ubuntu.buct6.edu.cn/ 端口:80
上海GDG鏡像服務器地址:http://sdk.gdgshanghai.com 端口:8000

例如這樣

11

2

不就可以了~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章