版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章Android界面開(kāi)發(fā)
Activity>布局、清單文件(AndroidManifest.xml)
2.1視圖組件與視圖容器
基本概念:控件、View(視圖)、ViewGroup(視圖容器)??丶茿ndroid
界面最基本的元素,每一個(gè)按鈕或文本框都是控件。View是所有控件的基類。
ViewGroup可以控制子控件的布局和顯示。
Android通過(guò)Java代碼定義控件并設(shè)置控件的屬性,通過(guò)XML文件控制控
件的布局和屬性。
2.2常用布局
布局可以用來(lái)管理控件的分布和大小。
2.2.1Android的六大基本布局
線性布局(LinearLayout)
相對(duì)布局(RelativeLayout)
表格布局TableLayout
層布局FrameLayout
絕對(duì)布局AbsoluteLayout
網(wǎng)格布局GridLayout
2.2.2線性布局LinearLayout
LinearLayout是一個(gè)視圖容器又稱線性布局,可以向其中添加組件。
水平方向線性排列android:orientation="horizontal"
垂直方向水平排列
Andorid:id組建標(biāo)簽中的id屬性值,以@開(kāi)頭,例如@+id/abc,可
在Java代碼中通過(guò)findViewByld中獲取。
android:id="@+id/iflytek_logo"
android:layout_width該組件的布局寬度
android:layout_height該組件的布局高度
可以設(shè)置3中取值方式
(1)matchparent:設(shè)置當(dāng)前View的大小盡可能和父控件的大小一致。
(2)wrapcontent設(shè)置當(dāng)前View的大小自適應(yīng)要顯示的內(nèi)容。
(3)固定值:設(shè)置檔期那View的尺寸為固定大小。
android:layout_width="matchparent"
android:layout_height="wrap_content”
案例代碼:
<?xmlversion=〃1.0〃encoding=〃utf8〃?>
<LinearLayout
pflns:android="zhttp://schemas,android,com/apk/res/android^
android:layout_width="matchparentz/_________________
android:layout_height=/zmatchparent/z
android:orientation二〃vertical〃
)
<Button
androidid=〃@+id/buttonl”
androidlayout_width="wrap_content”
androidlayout_height=z/wcjp_c()i)tem”
android:text="Button1”
/>
<Button
android:id=〃@+id/button2〃____________
android:layout_width=//wrap_content/,
android:layout_height二〃wrap_content
android:text=z/Button2/z
/>
<Button
android:id="@+id/button3"____________
____android:layout_width=,i
android:layout_height=〃wrap_content
android:text=〃Buitcm3"_______________
/廠
</LinearLayout>
android:Iayout_gravity和android:gravity屬性的區(qū)別
gravity控制組件的重心,也叫對(duì)齊方式,表示View在橫向或縱向的???/p>
位置。
(1)android:gravity:設(shè)置自身內(nèi)部元素的對(duì)齊方式。比如TextView,則設(shè)
置內(nèi)部文字的對(duì)齊方式。如果是ViewGroup組件如LinearLayout的話,則為設(shè)置
它內(nèi)部View組件的對(duì)齊方式。默認(rèn)值是左側(cè),比如Button設(shè)置gravit產(chǎn)“top”,
內(nèi)部的文字顯示在左上角。
案例代碼:
<Button
android:id="@+id/button1"
android:layout_width="200dp"
android:layout_height="wrap^content"
android:gravity="top"
android:text="Button1"
/>
BUTTON1
BUTT0N2
BUTTON3
這是一段話
center
right
bottom
center_horizontal
center_vertical
clip_horizontal
clip_vertical
end
fill
fill_horizontal
fill_vertical
left一
start
top
(2)android:layoutgravity設(shè)置自身相對(duì)于父容器的對(duì)齊方式。比如,一
個(gè)Button設(shè)置layoutgravity屬性,則表示這Button相對(duì)于父容器的對(duì)齊方式。
案例代碼:
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayout
xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#E8E8E8"
>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrapcontent"
android:layout_gravity="right"
android:text="Button1"
/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrapcontent"
android:layout_gravity="center"
android:text="Button2"
/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrapcontent"
android:text="Button3"/>
</LinearLayout>
效果圖
BUTT0N1
BUTT0N2
BUTT0N3
案例代碼:
學(xué)習(xí)LinearLayout的另一個(gè)重要屬性,android:layoutweight,該屬性允
許我們使用比例的方式來(lái)指定控件的大小。分配當(dāng)前控件在剩余空間的大小
<?xmlversion-1.0〃encoding=〃ulf8〃?>
<LinearLayout
xmlns:android=〃http://schemas,android,com/apk/res/android”
android:layout_width=,,match_parent/,_____________________________|
android:layout_height=〃matchparent”____________________________
android:orientation二〃horizonta]〃_______________________________I
)
<IiclitText
android:id="@+id/inputjnessage”|
android:layout_width=〃Odp〃|
android:layout_height="wrapcontent/'________________________|
android:1ayout_weight=〃1〃
android:hint=〃請(qǐng)輸入〃
7>
<Button
________android:id="@^id/sendl”____________
android:layout_width=,,Odpz,
________android:layout_height=〃wrap_content
android:layout_weight=,/1"
android:text^send^
/>
</LinearLayout>
將Button和EditText的android:layoutweight屬性都設(shè)置為1時(shí),EditText
和Button將在水平方向平分寬度。
更好的實(shí)現(xiàn)效果
案例代碼:
<?xmlversion="1.0〃encoding=//utf-8,z?>
<LinearLayout
xmlns:andi'oicl=//h〔tp:〃schemas,androicl.coin/pk/1'us/andiV)id〃
android:layout_width=〃niatchparent“______________________
android:layout_height="matchparentz,
android:orientation^^horizontalzz
>
<EditText
android:id=&+id/inputmessage
android:layout_width="Odp”
android:layout_height=,,\vrapcontent,?
________android:layout_weight=〃1〃
android:hint=〃請(qǐng)輸入,
—/)一
<Button
________android:id=〃@+id/sendl〃_____________
android:layout_width="wrapcontent”
________android:layout_height="wrapcontent
android:text二〃send”
/>
</LinearLayout>
Button占屏幕的寬度為wrap_content控件的大小剛好包住里面的內(nèi)容。
layoutweight屬相將平分剩余的屏幕寬度。
android:layoutmargin控制子組件周?chē)捻?yè)邊距(控件外部)
1.android:layout_margin=""/儆值示例"Odp”距離父控件
四個(gè)方向距離
2.android:layout_marginLeft=""〃取值示例"Odp"距離父
控件左間距
3.android:layout_marginTop=""/儆值示例"Odp"距離父
控件上間距
4.android:layout_marginRight=""〃取值示例"Odp"距離
父控件右間距
5.android:layout_marginBottom=""〃取值示例"Odp"距
離父控件下間距
android:padding在組件的四邊設(shè)置填充區(qū)域(控件內(nèi)部)
1.android:padding=/n,/度值示例"Odp"控件內(nèi)容(文本圖
片子控件等)距離控件四個(gè)方向邊界的距離
2.android:paddingLeft=""
3.android:paddingTop=""
4.android:paddingRight=""
5.android:paddingBottom=""
案例代碼:
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayout
xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
>
<EditText
android:id="@+id/input_message"
android:layout_width="Odp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="請(qǐng)輸入"
/>
<Button
android:id="@+id/send1"
android:layout_width="Odp"
android:layout_height="wrapcontent"
android:layout_weight="1"
android:paddingTop="Odp"
android:layout_marginRight="20dp"
android:text="send"
/>
</LinearLayout>
2.1.1RelativeLayout相對(duì)布局
對(duì)于有些界面,用線性布局實(shí)現(xiàn)比較麻煩,或使用線性布局嵌套層次太深,
可以考慮更靈活的想對(duì)布局。
android:layout_alignParentLeft=,ztruez,位于父布局左部
android:layout_alignParentTop=,,truez,位于父布局頂部
android:layout_centerInParent=,,truez,位于父布局中間
android:layout_alignParentRight=,,true/z位于父布局右部
android:layout_alignParentBottom=z,true,z位于父布局底部
案例代碼:
<?xmlversion=〃1.0〃encoding二
<RelativeLayout
xmlns:android="http://schemas,android,com/apk/res/android”
android:layout_width=,,match_parent”
android:layout_height=z/matchparent/z
>
<Button
android:id="@+id/sendl”_______________
android:layout_width=,/\vrapconlont”
android:layoutheight=,wiapconi.eni”
android:layout_alignParentLeft=/,true
android:layout_alignParentTop="1ru(?"
android:text=,zbuttonl”
/>
<Button
android:id="@+id/send2〃______________
android:layout_width=z/wrapcontent
android:layout_height=〃wrapcontent”________________________
android:1ayout_alignParentRight="true〃
android:layout_alignParentTop="true"_________________________
android:text=//button2z/
/>____________________________________________________
<Button
android:id="@+id/send3"______________________________________
android:1ayout_width=,zwi'apcontentz,
android:layout_height=)conlent/'_________________________
android:layout_centerInParent=zztrue,z
android:text=〃button3〃_______________________________________
/>
〈Button__________________________________________________________
android:id=〃@+id/send4〃
android:layout_width="wrapcontent”__________________________
android:1ayout_height=,/wrapcontent,z
android:layout_alignParentLeft=〃tru。"________________________________
android:layout_alignParentBottom=,true"
android:text二〃button4〃_______________________________________
/>
<Button
android:id=/z@+id/send5〃
android:layout_width=〃wrapcontent“_________________________
android:1ayout_height=,/wrapcontent^
android:layout_alignParentRight='-_______________________
android:1ayout_alignParentBottom="true"
android:text="button5/z
~~TT
</RelativeLayout>
案例代碼:
▼■8:00
studyAPP
BUTT0N1BUTTON1
BUTTONI
BUTT0N1BUTT0N1
《???/p>
android:layout_centerInParent=,,true/,設(shè)置當(dāng)前在父布局居中
android:layout_above=zz@id/send3,z表示一個(gè)控件在另一個(gè)控件的上方
android:layout_toLeftOf=,,@id/send3〃
表示一個(gè)控件在另一個(gè)控件的左側(cè)
android:layout_toRightOf=//@id/send3z,
表示一個(gè)控件在另一個(gè)控件的右側(cè)
android:layout_below=,z@id/send3〃
表示一個(gè)控件在另一個(gè)控件的下方
____<?xmlversion="I.0〃encoding="utf-8"?>________________________
<RelativeLayout
xmlns:anclroid=〃http://schemas,android,com/apk/res/android”
android:layout_width="matchparenl”__________________________
android:layout_height=z,match_parent”
<Button
android:id=〃@+id/send3〃
android:layout_width=z/wrap_content/z
android:layout_height="wrapcontenl〃
android:layout_centerInParent=z2lru£^
android:text="button1”
/>
<Button
android:id=〃@+id/sendl〃_______________
android:layout_width=/,wrapcontent^
android:layoutheight、-wrapconleni”
android:layout_above:=/,@id/sendS^
android:layout_toLeft0f=〃@id/send3〃
android:text="button1”
/>
<Button
android:id=〃@+id/send2〃
android:layout_width=//wrap_conteniz/
android:layout_height="wrapconleni〃
android:layout_above=/z@id/send3z/
android:layouttoRightOf="@id/send3”
android:text=,,button1”
/>
<Button
android:id=/z@+id/send4〃
android:layoutwidth="wrapconlonI”
android:layout_height=/zwrapcontent/z
android:layout_below="@id/send3〃___
android:1ayout_toLeftOf=ids(?nd3z,
android:text="buttonl”_________________
/>
<Button
android:id=〃。+id/send5〃
android:layout_width="wrapcontent”
android:layout_height=,/wrapconteni"
android:layout_below="@id/send3〃
android:layout_toRightOf=v@id/send3〃
android:text="bultonI”
</RelativeLayout>
2.1.2TextView
android:id="@+id/text」”給當(dāng)前控件定義唯一標(biāo)識(shí)符
android:layoutwidth指定控件的寬度,
match_parent意義相同,表示當(dāng)前控件大小與父布局相同,父布局大小決定
了當(dāng)前控件的大小;
wrapcontent讓當(dāng)前控件的大小剛好能包住里面的內(nèi)容,由控件內(nèi)容決定當(dāng)
前控件大小。
案例代碼:
<?xmlversion=〃1.0〃encoding=〃ulf8〃?>
<LinearLayout
xmlns:android=〃http://schemas,android,com/apk/res/android”
android:layout_width=,,matchjarent
android:layout_height=〃matchparent.”
android:orientation="vertical"
<TextView
________android:id="@+id/text_view〃__________
android:layout_width=z/\vrapcontent"
android:layoutheight="ikilchpareni,
android:text="ThisisTextView”
/>
</LinearLayout>
TextView默認(rèn)居左上角對(duì)齊
hisisTextView
知識(shí)回顧:
android:gravity指定內(nèi)部控件的對(duì)齊方式,可選值
top,bottom,left,right,center,也可用"|"可同時(shí)指定多個(gè)值,指定
"center”,效果等同于,center_vertica果center_horizontal表示文字在垂
直方和水平方向都居中
<?xmlversionF'l.0〃encoding=〃ulf-8〃?>
<LinearLayout
xmlns:android=〃http://schemas,android,com/apk/res/android”
android:orientation=/,vertical”
android:layout_width=〃maiientzz_________________________
android:layout_height=//matchparent,z>
〈TextView
android:id=〃@+id/text_\iew2〃
android:layout_width=〃match_parent〃
android:layout_height=,/\vrapcontentz,
android:gravity=〃center〃
android:text=,/ThiI'exlVi
/>
</LinearLayout>
案例代碼:
通過(guò)改變TextView的大小和顏色進(jìn)行修改。
andorid:textsize文字大小sp
android:textColor顏色
<?xmlversion="1.0〃encoding二
<LinearLayout____________________________________________
^^s:android="http://schemas,android,com/apk/res/android”___________
android:orientation="verticalz/__________________________________
android:layout_width=,,match_parentz/
android:layout_height=,,match_parent,,>
<TextView
android:id=〃@+id/text_view3〃
android:layout_width=z/match_parent/z
________android:1ayout_height=〃wrapcontent”________________________
android:gravity="center”
________android:textSize=〃24sp〃
android:textColor=,,#ff0000z,
android:text=/ThisisTexlView"
/>
</LinearLayout>
案例代碼:
文字+icon
android:drawableTop,drawableLeft,drawableRight,drawableBottom
<?xmlversion="1.0〃encoding=
<LinearLayout
xmlns:android=〃h11p://schemas,android,com/apk/res/android〃
android:orientation=〃vertical”_____________________________
android:layout_width=/,matchparent,z
android:layout_height=〃【natchparent”〉
<LinearLayout
android:layout_width=〃【natchparent”
android:layout_height=,/100dp,z
________android:background="@drawab1e/my_fragment_top._______
android:orientation=〃horizontai”
________>________________________________________________________
<TextView
_____________android:id=〃@+id/my_index_dongtai〃________________
android:layout_width=//Odp/,
android:layout_weight=〃l〃
android:layout_height=z/matchparent”
android:gravity="center〃
android:drawab1eTop="Sdrawab1emyFragmentorder"
_____________android:textSize=〃@dimen/text_size_defalutl〃_____
android:text=〃我的訂單〃
></TextView>
<TextView
android:layout_width二〃ldp〃
android:layout_height="/inatchparent"
android:background-z/#EODFEQz/
/>
<TextView
android:id=,z@+id/niyindexheart”
android:layout_width=〃Odp〃
android:layout_weight=/z1"
android:layout_height="matchparent”
android:gravity="center”
_____________android:drawableTop=〃@drawable/my_fragmenljrate”
android:text=〃心率“
_____________android:textSize=〃@dimen/1ext_size_defalut1"_____
></TextView>
_________〈TextView
android:layout_width=,/Idp"
android:layout_height=〃niatchparent”
android:background=〃#E0DFB0〃
/>
<TextView
__________android:id=〃@+id/my_index_sports”__________________
android:layout_width=,/Odpz,
android:layout_weight=T
android:layout_height=zzmatchparent
android:gravity="center”
android:drawableTop=,"fragmentsports"
android:text=〃運(yùn)動(dòng)”
android:textSize=/z@dimen/textsizedefalutl,z
></TextView>
</LinearLayout>
〈TextView
androici:id=〃("+i(1niyindoxhealth”
android:layout_width="matchparent”
android:layout_height="wrapcontentzz
android:layoutjnarginTop="@dimen/lillle_space〃
android:text—健康檔案”
_____android:textSize="@dimen/text_size_defalutl"___________
android:gravity二〃centervertical"
_____android:padding="@dimen/normal_space“__________________
android:drawableLeft=z,@drawable/my_fragment_archivesz/
android:drawab1eRight=〃@drawab1e/arrownorma1”
android:background=〃#ffffff”
_____android:drawablePadding=〃@din】en/normalspace”__________
/>
<TextView
_____android:id=〃@+id/my_index_faniily〃_______________________
android:layout_width=//matchparent"
android:layout_height="wrapcontent〃
android:layout_marginTop=,/@climen1ittle_spacez,
android:text=〃我的家人〃
android:textSize=/,@dinien/text_size_defalut1〃
_____android:gravity=〃center_vertical〃_______________________
anciroicl:padding=in;
_____android:drawableLeft=〃@drawab1e/r「amily”
android:drawab1eRight="("itrrow_normalz,
android:background=〃#ffffff〃
android:drawablePadding=z,@'dinien/iioriiialspacp,z
/>
<TextView
_____android:id="@+id/my_index_question.____________________
android:layout_width=z/matchparent”
android:layout_height="wrapcontent”________________________
android:layout_marginTop=/z?climcnni111ospacez,
android:text=〃我的問(wèn)答〃______________________________________
android:textSize=,z@climentextsizedefeilut1〃
android:gravity="centejvertical”____________________________
android:padding=〃@dimennorma1spac
________android:drawableLeft=〃@drawable/my_fragm6ntquestion”________
android:drawableRight=z,@drawciblearrownormalzz
android:background二_________________________________
android:drawab1ePadding="@dimen/norma1space〃
/>一______________________
<TextView
android:id=〃@+id/my_index_tel〃_______________________________
android:layout_width=z/matchjDarent"
android:layout_height二〃wrapcontent/'_________________________
android:background="#ffIff1”
android:drawableLeft="@drawable/myfragmenttel”_____________
android:drawab1eRight=z,@drawab1e/arrownormal/z
________android:drawablePadding=〃@dimen/normal_space〃________________
android:gravity二〃centervertical〃
________android:padding=〃@diinen/normal_space“________________________
android:text="聯(lián)系電話"
________android:textSize="@dimen/lexlsizedefalul1〃/>______________
</LinearLayout>
2.1.3Button
Button是程序用于和用戶交互的一個(gè)重要的控件。
實(shí)戰(zhàn)體驗(yàn)1:
布局文件:
<?xmlversion="1.0〃encoding二〃utf-8〃?>
<LinearLayout
xmlns:android="hitp://schemas.android.coin/Mpk/ros/andi、。id〃
android:orientation="vertical”___________________
cindroid:1ayout_width=/zmatch^parent^_______________________
android:layout_height=〃matchparent〃>
〈Button
android:id=〃@+id/buttonl〃
android:layout_width=,zmatch_parent"
android:layout_height=〃wrapcontent/'_____________
android:text=z/Button1〃/>
</LinearLayout>
java代碼:
packagecom.example,soft,studyapp;
importandroid,support.v7.app.AppCompatActivity;
importandroid,os.Bundle;
importandroid,view.View;
importandroid,widget.Button;
publicclassMainActivityextendsAppCompatActivity{
privateButtonbuttonl;
?Override
protectedvoidonCreate(BundlesavedinstanceState){
super.onCreate(savedlnstanceState);
setContentView(R.layout,activitymairi);
buttonl=(Button)findViewById(R?id.button!);
________buttonl.setOnClickListener(newView.OnC1ickListener(){
?Override
publicvoidonClick(Viewv){
-77茯正寫(xiě)邏輯代碼一
}
});
)
若不喜歡使用匿名內(nèi)部類的方式來(lái)注冊(cè)監(jiān)聽(tīng),也可用接口的方式進(jìn)行注冊(cè)。
packagecom.example,soft.studyapp;
importandroid,app.Activity;
importandroid,os.Bundle;
importandroid.view.View;
importandroid,widget.Button;
publicclassButtonActivityextendsActivityimplements
View.OnClickListener{
privateButtonbuttonl;
?Override
protectedvoidonCreate(BundlesavedinstanceState){
super.onCreate(savedlnstanceState);
setContentView(R.layout,activitymaiii);
buttonl=(Button)findViewById(R.id.buttonD;
button1.setOnClickListener(this);
一}一
?Override
publicvoidonClick(Viewv){
switch(v.getld()){
caseR.id.button1\
〃此處寫(xiě)邏輯操作
break;
default:
break;
}_____________________________________________
}
)
Button
?自定義選中效果
StateListDrawable對(duì)象所顯示的drawable對(duì)象會(huì)隨目標(biāo)組件狀態(tài)的改變而自
動(dòng)切換。
定義StateListDrawable對(duì)XML文件的根元素(selector.../〉,該元素可以報(bào)
考多個(gè)〈item.../>元素,該元素可以指定以下屬性。
android:color或android:drawable指定顏色或drawable對(duì)象
android:state_xxx指定一個(gè)特定的狀態(tài)
例如
<?xmlversion="1.0"encoding="utf-8"?>
<selectorxmlns:android="/apk/res/android">
<itemandroid:state_checked="true"
android:drawable="@mipmap/icon_card_select"></item>
<itemandroid:state_checked="false"
android:drawable="@mipmap/icon_card_nom"></item>
</selector>
android:state_checked代表是否已處于勾選狀態(tài)
android:state_pressed代表是否處于已按下?tīng)顟B(tài)
android:stateselected代表是否處于被選中狀態(tài)
2.1.4在活動(dòng)中使用Toast
Toast是Android系統(tǒng)提供的一種提醒方式,在程序中可以使用它將一些短
小的信息通知給用戶,并且會(huì)在一段時(shí)間后自動(dòng)消失,不會(huì)占用任何屏幕。
Toast.makeText(MainActivity.this,“youclicked
button1,,,Toast.LENGTH_SHOR).show();
通過(guò)靜態(tài)方法makeText()創(chuàng)建一個(gè)Toast對(duì)象,然后調(diào)用show()方法
將Toast顯示出來(lái),makeToast。方法需要傳入三個(gè)參數(shù),第一個(gè)參數(shù)Context,也
就是Toast的上下文,也就是一個(gè)Context對(duì)象,第二個(gè)參數(shù)是Toast顯示的文本
內(nèi)容,第三個(gè)參數(shù)是Toast顯示的時(shí)長(zhǎng),有兩個(gè)內(nèi)置的可以選擇,
Toast.LENGTHSHORT和Toast.LENGTHLONGo
2.1.5EditText
EditxText是程序用于和用戶進(jìn)行交互的另一個(gè)重要的控件,允許用戶在控
件里輸入和編輯內(nèi)容,并可以在程序中對(duì)這些內(nèi)容進(jìn)行處理,
androd:hint在輸入框中顯示提示性文字,一旦用戶輸入,文字就會(huì)自動(dòng)
消失。
常見(jiàn)的應(yīng)用場(chǎng)景,發(fā)短信,發(fā)微博,賬號(hào)登錄等等,
<?xmlversion=〃1.()〃encoding=〃utf-8〃?>
<LinearLayout
xmlns:android=〃http:〃schemas,android,com/apk/res/android〃
android:orientation=〃vertical,_________________________
android:1ayout_width=/zniat.ch_parent^_________________________
android:layout_height=〃matchparent,”)
<EditText
android:id=〃@+id/edit_text〃
android:layout_width="/niatch_parent"
android:layout_height="wrapcontent”______________
android:hint=〃請(qǐng)輸入“
/〉一
</LinearLayout>
當(dāng)輸入內(nèi)容過(guò)多是,EditText被無(wú)線拉伸怎么辦?
android:maxLines='T'
實(shí)戰(zhàn)體驗(yàn)2:
通過(guò)點(diǎn)擊按鈕獲取EditText中輸入的內(nèi)容
xml代碼:
<?xmlversion="l.0〃encoding=〃ulf-8〃?>
<LinearLayout
xmlns:android=〃http://schemas,android,com/apk/res/android”
android:orientation=/,vertical”
android:layout_width二〃matchparent”
android:layout_height=//matchparent〃>
〈EditText
android:id=z/@+id/edit_text,z
android:layout_width=〃matchparent”
android:layout_height=,/wrap_contentz,
android:hint="請(qǐng)輸入"
/>
<Button
android:id="@+id/btn_edit”___________
android:layout_width=vniatch_parent'
android:layoutheight=,rdp_conle口i〃
android:text="Buttool:clit〃
/>
(/LinearLayout>
java代碼:
packagecom.example,soft,studyapp;
importandroid,app.Activity;
importandroid,os.Bundle;
importandroid,view.View;
importandroid,widget.Button;
importandroid,widget.EditText;
importandroid,widget.Switch;
importandroid,widget.Toast;
publicclassEditActivityextendsActivityimplements
View.OnClickListener{
privateButtonbutton;
privateEditTexteditText;
?Override
protectedvoidonCreate(BundlesavedlnstanceState){
super.onCreate(savedlnstanceState);
setContentView(R.layout,activityedittexi);
button=(Button)findViewById(R.id.btn_edit);
editTexl=(EditText)findViewById(R.id.ed/,ZexZ);
button.setOnClickListener(this);
)
?Override
publicvoidonClick(Viewv){
switch(v.getld()){
caseR.id.btnedit:
StringinputText=editText.getText().toStringO;
Toast./z?a4e7ext(EditActivity.this,inputText,Toast.LENGTHSHORT).show()
break;
default:
break;
)
首先通過(guò)findViewByld。方法得到EditText的實(shí)例,在按鈕點(diǎn)的點(diǎn)擊事件
中調(diào)用EditText的getText()方法獲取輸入的內(nèi)容,再調(diào)用toString()方法轉(zhuǎn)
換成字符串,最后通過(guò)Toast將的內(nèi)容顯示出來(lái)。
實(shí)戰(zhàn)體驗(yàn)3:
制作登錄界面
2.1.6ImageView
ImageView用于在界面上展示圖片的一個(gè)控件,可以讓程序界面變得更
豐富多彩。
實(shí)戰(zhàn)體驗(yàn)1:
通過(guò)java代碼更換照片
xml布局:
<?xmlversion="1.0〃encoding=
<LinearLayout
xmlns:android=〃h11p://schemas,android,com/apk/res/android〃
android:orientalion=〃vertical”__________________________
android:layout_width=/,matchparent,z
android:layout_height="matchparent”〉
<ImageView
android:id=〃@+id/iamge_view〃
android:layout_width=〃wTap_content”
android:layout_height二〃wrap_content”
z,
android:src=^clrawabIe/inyIragmt'ins「)⑴4s〃
/)——
</LinearLayout>
java代碼:
通過(guò)調(diào)用ImageView的setlmageResource()方法將顯示的圖片換成
my_fragment_family
packagecom.example,soft,studyapp;
importandroid,app.Activity;
importandroid,os.Bundle;
importandroid,view.View;
importandroid,widget.Button;
importandroid,widget.ImageView;
publicclassImageActivityextendsActivityimplements
View.OnClickListener{
privateButtonbtn_image;
privateImageViewimageView;
?Override
protectedvoidonCreate(BundlesavedinstanceState){
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版城市更新改造項(xiàng)目融資合同范本4篇
- 2025年度個(gè)人抵押貸款擔(dān)保合同4篇
- 《建設(shè)工程施工合同糾紛事實(shí)查明的思路與方法》理解與適用
- 2025年銑刨料運(yùn)輸、破碎及再生利用綜合服務(wù)合同3篇
- 2024年員工培訓(xùn)制度 (一)
- 阿里新媒體運(yùn)營(yíng)課程設(shè)計(jì)
- 滑動(dòng)套課程設(shè)計(jì)
- 民政局2025版二零二五年度離婚協(xié)議書(shū)范本使用說(shuō)明4篇
- 2024年心理咨詢師之心理咨詢師基礎(chǔ)知識(shí)題庫(kù)(歷年真題)
- 二零二五版國(guó)際博覽會(huì)現(xiàn)場(chǎng)搭建及設(shè)備租賃合同3篇
- 2024版塑料購(gòu)銷(xiāo)合同范本買(mǎi)賣(mài)
- 【高一上】【期末話收獲 家校話未來(lái)】期末家長(zhǎng)會(huì)
- JJF 2184-2025電子計(jì)價(jià)秤型式評(píng)價(jià)大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 有毒有害氣體崗位操作規(guī)程(3篇)
- 兒童常見(jiàn)呼吸系統(tǒng)疾病免疫調(diào)節(jié)劑合理使用專家共識(shí)2024(全文)
- 2025屆山東省德州市物理高三第一學(xué)期期末調(diào)研模擬試題含解析
- 《華潤(rùn)集團(tuán)全面預(yù)算管理案例研究》
- 2024-2025高考英語(yǔ)全國(guó)卷分類匯編之完型填空(含答案及解析)
- 二年級(jí)下冊(cè)加減混合豎式練習(xí)360題附答案
- 蘇教版五年級(jí)數(shù)學(xué)下冊(cè)解方程五種類型50題
評(píng)論
0/150
提交評(píng)論