Android平臺(tái)應(yīng)用軟件開(kāi)發(fā)課件:Android中的交互與菜單_第1頁(yè)
Android平臺(tái)應(yīng)用軟件開(kāi)發(fā)課件:Android中的交互與菜單_第2頁(yè)
Android平臺(tái)應(yīng)用軟件開(kāi)發(fā)課件:Android中的交互與菜單_第3頁(yè)
Android平臺(tái)應(yīng)用軟件開(kāi)發(fā)課件:Android中的交互與菜單_第4頁(yè)
Android平臺(tái)應(yīng)用軟件開(kāi)發(fā)課件:Android中的交互與菜單_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Android中的交互與菜單5.1Android中的Toast提示框5.2Android的對(duì)話框5.3Android事件處理5.4Intent的進(jìn)階5.5Android中的Notification5.6Android中的Menu5.7Android中的多媒體播放

5.1Android中的Toast提示框

Toast英文含義是“吐司”,是烤面包的意思。在Android中,Toast是一種提示框,在需要時(shí)彈出來(lái)并持續(xù)顯示一段時(shí)間后慢慢消失。Toast提示框是一種不影響Activity運(yùn)行的信息簡(jiǎn)單提示框。Toast提示框浮動(dòng)在應(yīng)用程序的界面之上,顯示信息給用戶,它不會(huì)獲得焦點(diǎn),不影響用戶的輸入等操作,主要用于一些簡(jiǎn)單的信息提示或幫助。

Toast是Android中最常用的控件之一,主要用來(lái)快速地為用戶顯示少量的提示信息。Toast也是一個(gè)容器,可以包含各種View,并承載著它們顯示。

Toast提示框的使用場(chǎng)景:需要提示用戶,但又不需要用戶點(diǎn)擊“確定”或者“取消”按鈕。

5.1.1Toast提示框的創(chuàng)建

只需要調(diào)用Toast類的靜態(tài)方法makeText即可創(chuàng)建默認(rèn)格式的Toast提示框。makeText()方法包含三個(gè)參數(shù),第一個(gè)參數(shù)指定上下文環(huán)境,一般使用getApplicationContext()方法

獲取當(dāng)前程序的上下文,第二個(gè)參數(shù)是彈出的提示框中顯示的提示文本,第三個(gè)參數(shù)是Toast提示框顯示的時(shí)間,0代表短時(shí)間,1代表長(zhǎng)時(shí)間。示例代碼:Toast.makeText(getApplicationContext(),"文本",0).show();

5.1.2Toast提示框的優(yōu)化

調(diào)用makeText()靜態(tài)方法,只能創(chuàng)建默認(rèn)的Toast提示框,樣式不是很美觀,而且默認(rèn)的顯示位置在屏幕的下方。

1.自定義Toast

顯示的位置

2.帶圖片的Toast

3.自定義的Toast

自定義Toast需要先創(chuàng)建一個(gè)xml布局文件,如圖5-1所示。圖5-1自定義Toast布局文件

5.2Android的對(duì)話框

Toast提示框是不需要和用戶進(jìn)行交互的提示框,在做Android軟件開(kāi)發(fā)的時(shí)候,我們經(jīng)常需要與用戶進(jìn)行交互的對(duì)話框,即對(duì)話框彈出后,用戶可以往對(duì)話框中輸入信息,并點(diǎn)擊其中的“確定”或“取消”按鈕,對(duì)話框據(jù)此轉(zhuǎn)入相應(yīng)的邏輯處理。

AndroidAPI支持下列類型的對(duì)話框?qū)ο?

(1)警告對(duì)話框AlertDialog:警告對(duì)話框可以創(chuàng)建大多數(shù)的交互界面,是最為常見(jiàn)的對(duì)話框類型。

(2)進(jìn)度對(duì)話框ProgressDialog:顯示一個(gè)進(jìn)度環(huán)或者一個(gè)進(jìn)度條。由于它是警告對(duì)話框AlertDialog的擴(kuò)展,所以它也支持按鈕。

(3)日期選擇對(duì)話框DatePickerDialog:讓用戶選擇日期。

(4)時(shí)間選擇對(duì)話框TimePickerDialog:讓用戶選擇時(shí)間。

5.2.1常用的設(shè)置對(duì)話框方法

使用AlertDialog.Builder創(chuàng)建對(duì)話框時(shí),需要先了解Buider類中設(shè)置對(duì)話框的一些方法。以下是設(shè)置對(duì)話框時(shí)常見(jiàn)的一些方法說(shuō)明。

5.2.2創(chuàng)建對(duì)話框的關(guān)鍵代碼

1.警告對(duì)話框

2.進(jìn)度對(duì)話框

3.日期選擇對(duì)話框

4.自定義對(duì)話框

創(chuàng)建自定義對(duì)話框需要自定義的布局文件,如圖5-2所示。圖5-2自定義對(duì)話框布局文件

5.3Android事件處理

5.3.1Android中按鈕點(diǎn)擊事件處理的四種方法

1.采用在Activity中創(chuàng)建一個(gè)內(nèi)部類定義點(diǎn)擊事件新建一個(gè)Android項(xiàng)目,在它的layout文件夾下的“activity_main.xml”中。

新建了一個(gè)名叫“MyListener”的類,用它實(shí)現(xiàn)“OnClickListener”這個(gè)接口。實(shí)現(xiàn)一個(gè)接口,就必須實(shí)現(xiàn)這個(gè)接口里所有的非抽象類的方法,這個(gè)“onClick”方法就是點(diǎn)擊按鈕以后要執(zhí)行的方法。在模擬器上運(yùn)行程序,當(dāng)點(diǎn)擊這個(gè)按鈕的時(shí)候,會(huì)彈出一個(gè)文字提示,說(shuō)明這次的點(diǎn)擊事件成功地執(zhí)行了。

2.采用匿名內(nèi)部類定義點(diǎn)擊事件

新建一個(gè)Android項(xiàng)目,“activity_main.xml”中的代碼和上一小節(jié)完全一樣,在它的MainActivity中鍵入代碼。

3.Activity自己實(shí)現(xiàn)OnClickListener接口,實(shí)現(xiàn)onClick方法

新建一個(gè)Android項(xiàng)目,“activity_main.xml”中的代碼和上一小節(jié)完全一樣,在它的MainActivity中鍵入代碼:

4.在xml文件中創(chuàng)建Buttonview時(shí),為它添加Onclick參數(shù)

新建一個(gè)android項(xiàng)目,在“activity_main.xml”中鍵入代碼。

5.3.2Android中的鍵盤(pán)響應(yīng)事件

Android中的鍵盤(pán)響應(yīng)事件最常見(jiàn)的例子就是我們?cè)谑褂靡豢钴浖臅r(shí)候,摁下手機(jī)上的返回鍵,使程序返回上一個(gè)Activity。這個(gè)過(guò)程實(shí)際上是觸發(fā)了onKeyDown方法,該方法是接口KeyEvent.Callback中的抽象方法,所有的View全部實(shí)現(xiàn)了該接口并重寫(xiě)了該方法,該方法用來(lái)捕捉手機(jī)鍵盤(pán)被按下的事件。

參數(shù)keyCode是被按下的鍵值即鍵盤(pán)碼,手機(jī)鍵盤(pán)中每個(gè)按鈕都會(huì)有其單獨(dú)的鍵盤(pán)碼,在應(yīng)用程序都是通過(guò)鍵盤(pán)碼才知道用戶按下的是哪個(gè)鍵。

參數(shù)event是按鍵事件的對(duì)象,其中包含了觸發(fā)事件的詳細(xì)信息,例如事件的狀態(tài)、事件的類型、事件發(fā)生的時(shí)間等。當(dāng)用戶按下按鍵時(shí),系統(tǒng)會(huì)自動(dòng)將事件封裝成KeyEvent對(duì)象供應(yīng)用程序使用。

該方法的返回值為一個(gè)boolean類型的變量,當(dāng)返回true時(shí),表示已經(jīng)完整地處理了這個(gè)事件,并不希望其他的回調(diào)方法再次進(jìn)行處理;而當(dāng)返回false時(shí),表示并沒(méi)有完全處理完該事件,更希望其他回調(diào)方法繼續(xù)對(duì)其進(jìn)行處理,例如Activity中的回調(diào)方法。

在模擬器上運(yùn)行程序,點(diǎn)擊手機(jī)上的返回鍵,這時(shí)候不是直接退出程序,而是彈出一個(gè)Dialog對(duì)話框來(lái)詢問(wèn)用戶是否確認(rèn)退出。點(diǎn)擊確認(rèn),這時(shí)候才會(huì)退出程序。

5.3.3Android中的onTouchEvent事件

onTouchEvent方法是當(dāng)觸摸手機(jī)屏幕時(shí)觸發(fā)的方法,重寫(xiě)Activity的onTouchEvent方法后,當(dāng)屏幕有touch事件時(shí),此方法就會(huì)被調(diào)用,當(dāng)把手放到Activity上時(shí),onTouchEvent方法就會(huì)一遍一遍地被調(diào)用。下面我們通過(guò)一個(gè)小案例來(lái)學(xué)習(xí)onTouchEvent事件。

在模擬器上運(yùn)行程序,鼠標(biāo)點(diǎn)擊界面,觀察LOG窗口打印出來(lái)的日志,會(huì)發(fā)現(xiàn)打印出來(lái)的日志會(huì)隨著鼠標(biāo)動(dòng)作的變化而變化。

5.4Intent的進(jìn)階

5.4.1什么是IntentIntent的中文意思是“意圖,意向”,在Android中提供了Intent機(jī)制來(lái)協(xié)助應(yīng)用程序之間進(jìn)行交互與通信,Intent主要用來(lái)說(shuō)明應(yīng)用程序中一次操作的動(dòng)作及動(dòng)作涉及的數(shù)據(jù)和附加數(shù)據(jù),Android系統(tǒng)根據(jù)Intent的描述,負(fù)責(zé)找到對(duì)應(yīng)的組件,將Intent傳遞給調(diào)用的組件,并完成組件的調(diào)用。Intent不僅可用于應(yīng)用程序之間,也可用于應(yīng)用程序內(nèi)部的

5.4.2使用Intent進(jìn)行界面間數(shù)據(jù)的傳遞

Intent可以作為不同組件之間通信的媒介,同時(shí)還可以在不同的組件之間進(jìn)行數(shù)據(jù)的傳遞,使用Intent.putExtra(key,value)可以將要傳遞的數(shù)據(jù)添加到Intent中。key和value為鍵值對(duì),第一個(gè)參數(shù)為鍵名,第二個(gè)參數(shù)為鍵對(duì)應(yīng)的值。如果想取出Intent對(duì)象中的這些值,需要在另一個(gè)Activity中調(diào)用getXXXXXExtra方法,注意需要使用對(duì)應(yīng)類型的方法,參數(shù)為鍵名。

5.5Android中的Notification

5.5.1PendingIntent簡(jiǎn)介Intent是即時(shí)啟動(dòng)的,即Intent隨所在的Activity消失而消失。PendingIntent這個(gè)類的含義是延遲意圖,用于處理即將發(fā)生的事情。例如在通知Notification中用于跳轉(zhuǎn)頁(yè)面,但不是馬上跳轉(zhuǎn)。PendingIntent可以看做是對(duì)Intent的一個(gè)簡(jiǎn)單的包裝,主要用來(lái)在某個(gè)事件完成后執(zhí)行特定的Action。PendingIntent包含了Intent及Context,所以就算Intent所屬程序結(jié)束,PendingIntent依然有效,可以在其他程序中使用。

PendingIntent常用在通知欄及短信發(fā)送系統(tǒng)中。PendingIntent一般作為參數(shù)傳給某個(gè)實(shí)例,在該實(shí)例完成某個(gè)操作后自動(dòng)執(zhí)行PendingIntent上的Action,也可以通過(guò)PendingIntent的send函數(shù)手動(dòng)執(zhí)行,并可以在send函數(shù)中設(shè)置OnFinished表示send成功后執(zhí)行的動(dòng)作。

創(chuàng)建Notification的時(shí)候需要讓其在點(diǎn)擊的時(shí)候啟動(dòng)一個(gè)Intent,而Intent又是一個(gè)即時(shí)的操作,所以將其封裝在PendingIntent中,讓其在一定條件下再進(jìn)行啟動(dòng)。

5.5.2創(chuàng)建Notification的關(guān)鍵代碼

在用手機(jī)的時(shí)候,如果來(lái)了短信,而沒(méi)有點(diǎn)擊查看的話,會(huì)在手機(jī)最上邊的狀態(tài)欄里有一個(gè)短信的小圖標(biāo)提示,這個(gè)小提示就是用了Android系統(tǒng)中的Notification的功能。

在設(shè)置Notification屬性的時(shí)候,會(huì)提示應(yīng)該注解使用新的API。因?yàn)樵贏ndroid系統(tǒng)中,Notification的變化是比較大的。在2.3.3以前是一個(gè)版本,2.3.3到4.1.2又是一個(gè)版本,4.1.2以后是第三個(gè)版本,因?yàn)閯?chuàng)建的方法不同,其中一些方法已經(jīng)被Google公司廢棄而不使用。這里使用的是最新版的創(chuàng)建方法,所以應(yīng)該告訴Android系統(tǒng)調(diào)用最新的API。告訴系統(tǒng)的方式是在onCreate方法前面加上@SuppressLint("NewApi")。

5.6Android中的Menu

菜單是許多應(yīng)用程序不可或缺的一部分,Android中更是如此,所有搭載Android系統(tǒng)的手機(jī)甚至都要有一個(gè)“Menu”鍵,由此可見(jiàn)菜單在Android程序中的特殊性。AndroidSDK提供的菜單有如下幾種:

選項(xiàng)菜單:最常規(guī)的菜單,Android中把它叫做optionmenu。

子菜單:Android中點(diǎn)擊子菜單將彈出懸浮窗口顯示子菜單項(xiàng)。子菜單不支持嵌套,即子菜單中不能再包括其他子菜單。

上下文菜單:Android中長(zhǎng)按視圖控件后出現(xiàn)的菜單,Windows點(diǎn)擊右鍵彈出的菜單即上下文菜單。

圖標(biāo)菜單:這個(gè)比較簡(jiǎn)單,就是帶icon的菜單項(xiàng),需要注意的是子菜單項(xiàng)、上下文菜單項(xiàng)、擴(kuò)展菜單項(xiàng)均無(wú)法顯示圖標(biāo)。

擴(kuò)展菜單:選項(xiàng)菜單最多只能顯示6個(gè)菜單項(xiàng),超過(guò)6個(gè)時(shí),第6個(gè)菜單項(xiàng)會(huì)被系統(tǒng)替換為一個(gè)叫“更多”的子菜單,原來(lái)顯示不下的菜單項(xiàng)都作為“更多”菜單的子菜單項(xiàng),如圖5-3所示。圖5-3菜單界面

5.6.1菜單的創(chuàng)建與響應(yīng)

Android的Activity已經(jīng)提前創(chuàng)建好了android.view.Menu對(duì)象,并提供了回調(diào)方法onCreateOptionsMenu(Menumenu)供初始化菜單的內(nèi)容。該方法只會(huì)在選項(xiàng)菜單第一次顯示的時(shí)候被執(zhí)行,如果需要?jiǎng)討B(tài)改變選項(xiàng)菜單的內(nèi)容,就得使用onPrepareOptionsMenu(Menu)方法。

代碼演示了添加菜單項(xiàng)的三種方法,三種方法中,第三種方法最為復(fù)雜,掌握了第三種方法,前面兩種方法都可以理解掌握,下面主要解釋第三種方法add(intgroupId,intitemId,intorder,CharSequencetitle)中參數(shù)的含義。其中,第一個(gè)參數(shù)是組號(hào),Android中你可以給菜單分組,以便快速地操作同一組的菜單;第二個(gè)參數(shù)指定每個(gè)菜單項(xiàng)唯一的ID號(hào),你可以自己指定,也可以讓系統(tǒng)來(lái)自動(dòng)分配,在響應(yīng)菜單時(shí)你需要通過(guò)ID號(hào)來(lái)判斷哪個(gè)菜單被點(diǎn)擊了,因此常規(guī)的做法是定義一些ID常量;第三個(gè)參數(shù)代表菜單項(xiàng)顯示順序的編號(hào),編號(hào)小的在前面顯示。

5.6.2實(shí)現(xiàn)SubMenu

學(xué)習(xí)了menu菜單的使用方法后,我們通過(guò)一個(gè)小案例來(lái)學(xué)習(xí)子菜單的使用過(guò)程。新建一個(gè)Android項(xiàng)目,命名為“study_5-6-2”,在MainActivity中,鍵入代碼:

上面的代碼演示了如何創(chuàng)建子菜單,其菜單項(xiàng)的響應(yīng)其實(shí)就是普通菜單項(xiàng)的響應(yīng),需要強(qiáng)調(diào)的是,Menu可以包含多個(gè)SubMenu,SubMenu可以包含多個(gè)MenuItem,但是SubMenu不能包含SubMenu,即子菜單不能嵌套使用,子菜單的下面添加子菜單的代碼能通過(guò)編譯,但會(huì)在運(yùn)行時(shí)出錯(cuò):subMenu.addSubMenu("又一個(gè)子菜單")。

5.6.3實(shí)現(xiàn)上下文菜單ContextMenu

上下文菜單也繼承了android.view.Menu類,因此可以像操作OptionsMenu那樣給上下文菜單增加菜單項(xiàng)。上下文菜單與OptionsMenu最大的不同在于,OptionsMenu的擁有者是Activity,而上下文菜單的擁有者是Activity中的View。每個(gè)Activity有且只有一個(gè)OptionsMenu,它為整個(gè)Activity服務(wù)。而一個(gè)Activity往往有多個(gè)View,可以通過(guò)registerForContextMenu(Viewview)方法為每個(gè)View指定上下文菜單。

雖然上下文菜單的擁有者是View,但生成上下文菜單卻需調(diào)用Activity中的onCreateContextMenu(ContextMenumenu,Viewv,ContextMenu.ContextMenuInfomenuInfo)方法,該方法類似于生成OptionsMenu的onCreateOptionsMenu(Menumenu)方法。兩者的不同在于,onCreateOptionsMenu只在用戶第一次按“Menu”鍵時(shí)被調(diào)用,而onCreateContextMenu會(huì)在用戶每一次長(zhǎng)按View時(shí)被調(diào)用,但長(zhǎng)按的View必須已經(jīng)注冊(cè)了上下文菜單。

創(chuàng)建上下文菜單時(shí),onCreateContextMenu()方法中的第三個(gè)參數(shù)是ContextMenuInfo類,該參數(shù)作用于當(dāng)View元素需要向上下文菜單傳遞一些信息時(shí),例如View要向?qū)?yīng)的上下文菜單中傳遞對(duì)應(yīng)數(shù)據(jù)庫(kù)記錄的ID時(shí),我們就需要指定第三個(gè)參數(shù)。注意:需要傳遞額外信息的View需要重寫(xiě)getContextMenuInfo()方法,返回一個(gè)帶有數(shù)據(jù)的ContextMenuInfo實(shí)現(xiàn)類對(duì)象。

5.6.4使用XML生成菜單

回顧前面的幾節(jié),都是直接在代碼中添加菜單項(xiàng),給菜單項(xiàng)分組,這是比較傳統(tǒng)的做法,但它存在著一些不足。比如說(shuō),為了響應(yīng)每個(gè)菜單項(xiàng),我們需要用常量來(lái)保存每個(gè)菜單項(xiàng)的ID。為此,Android提供了一種更好的方式,就是把menu也定義為應(yīng)用程序的資源,通過(guò)Android對(duì)資源的本地支持,使我們可以更方便地實(shí)現(xiàn)菜單的創(chuàng)建與響應(yīng)。這一篇就介紹如何使用XML文件來(lái)加載和響應(yīng)菜單,我們需要做以下幾步:

(1)在/res目錄下創(chuàng)建menu文件夾。

(2)在menu目錄下定義與menu相關(guān)的資源文件,Android系統(tǒng)會(huì)自動(dòng)為其生成資源ID。例如:R.menu.mainmenu對(duì)應(yīng)menu目錄的mainmenu.xml資源文件。

(3)在源代碼中將資源文件轉(zhuǎn)換為menu對(duì)象,利用每個(gè)菜單項(xiàng)對(duì)應(yīng)的資源ID來(lái)響應(yīng)菜單項(xiàng)的點(diǎn)擊。

Android不僅為我們定義的xml文件生成了資源ID,同樣為menuitem自動(dòng)生成了ID。菜單項(xiàng)ID的創(chuàng)建與管理全部由Android系統(tǒng)完成,方便了菜單的使用過(guò)程,因此利用xml資源文件創(chuàng)建菜單是Android中創(chuàng)建菜單的推薦方式。

5.6.5Android中的PopupWindow

PopupWindow在android.widget包下,以彈出窗口的形式展示。Google公司的文檔對(duì)該控件的描述是:“一個(gè)彈出窗口控件,可以用來(lái)顯示任意視圖(View),而且會(huì)浮動(dòng)在當(dāng)前活動(dòng)(activity)的頂部”。PopupWindow和AlertDialog都屬于Android中的對(duì)話框,AlertDialog是非阻塞式對(duì)話框,AlertDialog彈出時(shí),后臺(tái)還可以繼續(xù)工作;而PopupWindow是阻塞式對(duì)話框,PopupWindow彈出時(shí),程序會(huì)等待,且在PopupWindow退出前,程序會(huì)一直等待,只有當(dāng)我們調(diào)用了dismiss方法PopupWindow退出后,程序才會(huì)向下執(zhí)行。

這兩種對(duì)話框的具體區(qū)別:AlertDialog彈出時(shí),背景是黑色的,但是當(dāng)我們點(diǎn)擊背景,AlertDialog會(huì)消失,這證明程序不僅響應(yīng)AlertDialog的操作,還響應(yīng)其他操作,其他程序沒(méi)有被阻塞;PopupWindow彈出時(shí),背景沒(méi)有什么變化,但是當(dāng)我們點(diǎn)擊背景的時(shí)候,程序沒(méi)有響應(yīng),只允許我們操作PopupWindow,其他操作被阻塞。利用PopupWindow的特性我們可以實(shí)現(xiàn)多種自定義控件。

PopupWindow顯示的位置按照參照物的不同,可以分為相對(duì)于某個(gè)控件(Anchor錨)和相對(duì)于父控件。具體如下:

showAsDropDown(Viewanchor):相對(duì)某個(gè)控件的位置(正左下方),無(wú)偏移。

showAsDropDown(Viewanchor,intxoff,intyoff):相對(duì)某個(gè)控件的位置,有偏移。

showAtLocation(Viewparent,intgravity,intx,inty):相對(duì)于父控件的位置(例如正中央Gravity.CENTER,下方Gravity.BOTTOM等),可以設(shè)置偏移或無(wú)偏移。

5.7Android中的多媒體播放5.7.1MediaPlayer簡(jiǎn)介Android提供了許多方法來(lái)控制播放的音頻、視頻文件和流。例如可以通過(guò)VideoView來(lái)播放視頻,也可以通過(guò)MediaPlayer來(lái)播放音頻和視頻,雖然VideoView比MediaPlayer簡(jiǎn)單易用,但在使用的靈活性上不如MediaPlayer,MediaPlayer播放音頻比較簡(jiǎn)單,但是要播放視頻就需要SurfaceView。SurfaceView比普通的自定義View更有繪圖上的優(yōu)勢(shì),它支持完全的OpenGLES庫(kù)。

1.獲得MediaPlayer實(shí)例的方法

MediaPlayer類的實(shí)例可以直接使用new的方式獲得,代碼如下:MediaPlayermp=newMediaPlayer();也可以使用create的方式來(lái)獲得,代碼如下:MediaPlayermp=MediaPlayer.create(this,R.raw.test)。這兩種方式的不同在于如果采用第二種方

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論