當前位置:首頁 » 安卓系統 » android音樂播放ui

android音樂播放ui

發布時間: 2022-08-19 22:06:02

⑴ android中使用service播放mp3引起ui阻塞么

Service也是運行在主線程中的。
因此不能直接在Service中直接播放。
一般都是在服務中開啟子線程進行播放,要改UI藉助Handler。

⑵ 安卓開發怎樣通過bindserverice播放音樂

服務的單詞是service
service是android四大組件之一,可以執行後台任務,不需要UI。可以用bindService把service綁定到當前activity來傳遞消息。
需要一個activity和一個service。activity負責用戶界面,service後台播放音樂。
activity啟動後bindservice,點擊播放後通過binder調用service播放,點擊停止後調用service停止播放。具體可以網路一下。

⑶ 求一個安卓平板播放器 ui和moboplayer差不多功能強大點的。我用moboplayer的時候調

MX VideoPlayer是一款視頻播放器,支持3GP、AVI DIVX、F4V、FLV、MKV、MP4、MPEG、MOV、VOB、WMV、 WEBM、XviD格式,並針對ARM NEON 和NVIDIA Tegra 2 CPU做了優化處理,通過S/W或H/W按鈕就可以輕松的更改解碼模式,安裝後會根據CPU型號自動到市場下載對應的解碼包。

支持字幕格式:
SubRip(.srt)
Sub Station Alpha(.ssa) / Advanced Sub Station Alpha(.ass)
MicroDVD(.sub/.txt)
SubViewer2.0(.sub)
SAMI(.smi/.sami)
MPL2(.mpl/.txt)
PowerDivX(.psb/.txt)
TMPlayer(.txt)
Matroska (.mkv) Subtitle Track

⑷ Android下面這種UI是怎麼實現的呢

背景不是一種顏色啊= =,
背景的顏色是左淺右深。。設置下背景而已啊。你做過網頁就知道了。都是一個圖片,切3份,一個控制項一份,

⑸ 誰能提供一個android應用程序的框架,涉及到網路和線程更改UI的

Android的多媒體框架包括支持播放多種常見的媒體類型,使您可以輕松地把音頻、視頻和圖像集成到你的應用。你可以播放音頻或視頻媒體文件,這些文件是存儲在你的應用程序的資源文件中的。應用程序的資源文件可以是文件系統中獨立的文件,或通過網路連接獲取的一個數據流,所有使用MediaPlayer APIS的資源文件。
1.

注意:如果你通過一個URL來獲取一個在線媒體文件,該文件必須能夠支持漸進式下載。
2.
警告:當你使用setDataSource()方法時,必須捕捉或通過非法數據異常和輸入輸出異常,因為正在被你引用的文件可能不存在在.
3.
非同步准備 - Asynchronous Preparation
使用MediaPlayer 的原則很簡單。然而,重要的是要記住,有必要將更多的一些東西正確地集成到一個典型的Android應用程序。比如,調用prepare()方法可能需要較長的時間來執行,因為它可能涉及獲取和解碼媒體數據。因此,如同任何方法,可能需要很長時間執行,你不應該從應用程序的UI線程調用它。這樣做將導致UI掛到方法返回,這是一個非常糟糕的用戶體驗,也可能會引起應用程序沒有響應的錯誤。 即使你預期你的資源能快速載入,記住,任何超過十分之一秒的反應在界面上會造成明顯的停頓,將導致給用戶的印象是:你的應用程序是緩慢的。
為了避免你的UI線程掛起,產生另一個線程准備MediaPlayer 當完成時通知主線程。你可以寫自己的線程的邏輯,框架提供prepareAsync() 方法,方便的使用MediaPlayer 。該方法在後台開始准備媒體並立即返回。當媒體准備好了,MediaPlayer.OnPreparedListener的onPrepared 方法,通過配置setonpreparedlistener()方法來調用。
4.

狀態管理 - Managing State
關於MediaPlayer ,你需要記住的另一點是它的狀態。即,在你編寫自己的代碼的時候,必須時刻意識到MediaPlayer 有一個內部狀態,因為 只有當玩家在特定狀態,某些特定的操作才會有效。如果您在錯誤的狀態執行一個操作,系統可能會拋出一個異常或引起其它令人不快的行為。
MediaPlayer 類里有文件顯示一個完整的狀態轉換圖,闡明哪些方法可以把MediaPlayer 從一個狀態改變到另一個狀態。例如,當您創建一個新的MediaPlayer ,它就處於閑置狀態。這時,你應該調用android.net.Uri) setDataSource()方法來初始化它,把它設置為初始化狀態。然後,你必須使用prepare()方法或prepareAsync()方法。當MediaPlayer 准備好了,它將進入准備狀態,這就意味著你可以調用start()方法來播放媒體。另外,在狀態轉換圖上闡明了,你可以調用start(),pause()和 seekTo()這些方法在Started,Paused和PlaybackCompleted狀態之間進行轉換。如果您調用stop()方法,這時請注意,你需要再次准備MediaPlayer ,才可以再一次調用start()方法。
在編寫代碼與MediaPlayer 對象交互時,心裡要隨時想著狀態轉換圖,因為從錯誤的狀態調用它的方法,是引起錯誤的常見原因。
釋放MediaPlayer-Releasing the MediaPlayer
MediaPlayer 會消耗寶貴的系統資源。因此 ,你應該經常採取額外的預防措施來確保及時把不需要的MediaPlayer 取消掉。您需要調用release() 方法來確保系統分配給它的資源正確釋放。例如,您正在使用MediaPlayer ,同時,你的活動調用onStop()方法,這時你必須釋放MediaPlayer,因為你的活動並非與用戶交互,留著它沒什麼意義(除非你是在後台播放多媒體,這是下一節中將討論的內容)。當你的活動恢復或者重新啟動,恢復播放之前,您需要創建一個新的MediaPlayer並且重新准備。
下面是釋放和取消你的MediaPlayer的方法:
mediaPlayer.release(); mediaPlayer = null;

作為思考題,考慮一下如果當活動停止的時候你忘了釋放MediaPlayer,活動重啟後新建一個MediaPlayer,可能會發生的問題。正如你可能知道的,當用戶更改屏幕的方向(或以另一種方式更改設備配置),該系統通過重啟活動處理(通過默認方式),所以當用戶頻繁在縱向和橫向之間切換時,你可能會很快消耗掉所有的系統資源,原因是你沒有釋放方向變化時各個方向上創建的新MediaPlayer。(更多關於運行時重啟的資料,請查看Handling Runtime Changes)。
你可能會想知道在用戶離開活動時後台繼續播放媒體是如何實現的,採用同樣的方式實現的,如內置的音樂應用程序的行為。在這種情況下,你需要通過一個Service來控制MediaPlayer,所以我們開始學習Using a Service with MediaPlayer。

⑹ coolui6.o系統 360osmini和android4.4.哪個系統好

coolui6.0是在安卓原生系統上做出了優化,跟安卓4.4各有優點,根據個人喜好選擇,coolui6.0的特點在於:
1、首先從視覺效果來看,COOLUI 6.0將狀態欄和界面融為一體,也就是通常所說的沉浸式狀態欄,通過狀態欄與主界面的自適配,達到視覺上的統一,讓人們在使用的過程中,獲得較為舒適的視覺體驗。
2、視頻和音樂界面,隨著界面海報的輪播,整個界面的背景顏色會隨著海報上顏色的變化而發生改變,並且呈現出一種類似高斯模糊的效果,這樣的顏色搭配看起來還是很和諧的。雖然4.4版本的音樂播放界面也有做這樣的效果,但是COOLUI 6.0在視頻界面和在線音樂界面上也新增了這種畫面一致性的效果,視效更佳。
3、可以說,COOLUI 6.0整體的設計方向是遵循著更為扁平化的設計思路,同時在色彩的選用和搭配上,跟4.4比起來也更炫彩,因此總體上顯得更加的年輕,也更有活力。這一點我們無論是從圖標,或是界面採用的色調上,都能夠感受到。

⑺ android系統中有哪三種常用的ui設計方式

Android 資源類型
1.字元串資源

>>1.普通字元串
>>2.字元串數組

復制代碼
<resources>
<string-array name="planets_array">
<item>aaa</item>
<item>bbb</item>
</string-array>
</resources>
復制代碼
獲取方式:getResources().getStringArray(R.array.planets_array)
>>3.復數字元串資源
某些自然語言中,不同的數字在使用方法上會有所不同,比如one book,two books。當數量大於1時,會使用不同的名詞或其它復數形式;

復制代碼
<resources>
<plurals name="numberOfp">
<item quantity="one">one person</item>
<item quantity="other">more persons</item>
</plurals>
</resources>
復制代碼
quantity屬性的值除了one和other外,還可以是zero,two,few,many;
引用復數字元串:
// 引用數字為1的復數字元串
getResources().getQuantityString(R.pluarlas.numberOfp,1);
// 引用數字為其它值的復數字元串
getResources().getQuantityString(R.pluarlas.numberOfp,10,10);
>>4.佔位符格式化字元串
常用的格式化字元串三種方法:
>>1.在字元串中使用引號
字元串中的值雖然可以隨意指定,但是當遇到特殊符號時(雙引號,單引號)就需要採取特殊的方法來處理這些符號。
如果是單引號(')可以使用轉義符(\)或用雙引號(")將整個字元串括起來,如果是雙引號,可以在雙引號前使用轉義符(\)。

<resources>
<string name="str1">"This'll work"</string> This'll work
<string name="str2">This\'ll work</string> This'll work
<string name="str3">\"apple\"</string> "apple"
</resources>
>>2.用佔位符格式化字元串
使用String.format(String,Object...)方法可以格式化帶佔位符的字元串,只需要在字元串中插入佔位符,就可以使用String.format方法格式化字元串資源,format方法要求的佔位符用%1,%,...,%n,其實第n個佔位符與format方法的n+1個參數值對應;

<resources>
<!-- $s表示該佔位符被字元串替換,$d表示該佔位符被整數替換 -->
<string name="str1">hello,%1$s!You have %2$d new message</string>
</resources>
String str1 =String.format(getResources().getString(R.string.str1), "ly", 17);
>>3.使用HTML標簽格式化字元串資源

字元串資源支持一些HTML標簽,因此可以直接在字元串資源中使用這些HTML標簽格式化字元串
字元串資源支持如下的HTML標簽
<b>粗體字
<i>斜體定
<u>帶下劃線的字
有時需要同時使用HTML標簽和佔位符格式化字元串,如果使用String.format方法格式化字元串,會忽略字元串中的所有HTML標簽。為了使format方法可以格式化帶
HTML標簽的確字元,需要使用Html.formHTML方法處理字元串;

<resources>
<string name="hello_world">Welcome to <b>android</b></string>
<string name="str2">Hello,%1$s! You have <b> %2d new messages </b></string> <!--同時包含佔位符和html標簽的字元串-->
</resources>
由於需要使用Html.formHTML方法處理字元串,因此HTML標簽中的 "<" 需要使用 "<" 表示 ">" 並不需要處理
獲取字元串:

String text = String.format(getResources().getString(R.string.str2), "ly", 10);
CharSequence styledText = Html.fromHtml(text);
// 如果format的某個參數包含HTML的特殊字元,如"<","&",可以使用如下方式讀取字元串的值;
String escapedUsername = TextUtils.htmlEncode("");
String text1 = String.format(getResources().getString(R.string.str2), "ly", 20);
2.Layout資源
1、如果根節點是View,除了<requestFocus>標簽外,不能添加任何子標簽,<requestFocus>可能被添加到布局文件的任何View中,表示該標簽對應的控制項在顯示時處於焦點狀態,整個布局文件只能有一個<requestFocus>標簽
2、根節點是ViewGroup,常用的布局都是ViewGroup的子類
3、重用布局文件
如果想重用某個布局文件,可以使用<include>標簽
<include layout="@layout/xx_layout" />
如果想讓一個布局文件被另一個布局文件引用(使用<include>標簽),可以使用<merge>作為被引用布局文件的根節點,由於<merge>並不會生成任何標簽(在大量引用布局文件時不至於生成大量無用的標簽),但是xml文件必須要有一個根節點,因此<merge>所起的作用就是作為xml文件的根節點,以使xml文件在編譯時不至於出錯,可以把<merge>當成<FrameLayout>使用;

3.圖像資源
在圖像資源中可以存儲圖像文件,還可以使用xml格式的圖像資源來控制項圖像的狀態和行為;
>>1.普通圖像資源
Drawable da = getResources().getDrawable(R.drawable.xxx);

>>2.xml圖像資源
xml圖像資源其實就是在drawable目錄中指定的xml文件,此種方式可以額外指定圖像的某些屬性,如圖像拉動、排列方式;

<bitmap xmlns:android=""
android:src="@drawable/ic_launcher"
android:tileMode="repeat" >
</bitmap>
>>3.Nine-Patch圖像資源
Nine-Patch圖像資源文件必須以9.png作為文件擴展名,如abc.9.png
該圖像資源的主要作用是:防止圖像的某一部分被拉伸;確定將圖像作為背景圖的控制項中內容顯示的位置;
Android SDK本身提供了一個Draw 9-patch的工具,啟動<sdk目錄>\tools\draw9patch.bat命令啟動該工具;
可以通過此工具在png圖的四周繪制1個像素粗的直線,上邊緣和左邊緣的直線分別表示圖像在水平和垂直方向可位值的范圍。如果水平或垂直方向的某個區域不需要拉伸,則可不繪制相應的直線;右邊緣和下邊緣的直線分別表示圖像所在控制項中內容的顯示範圍,內容只在右邊緣和下邊緣繪制直線的區域顯示,表示內容顯示範圍和拉伸范圍的兩給直線有一個重要區別就是表示內容顯示範圍的直線中間不能斷開,而表示拉伸范圍的直線中間可以斷開;
Nine-Patch圖像資源與普通圖像資源引用方法相同,在引用時只寫文件名,活力.9.png;

>>4.XML Nine-Patch圖像資源
Nine-Patch圖像資源也有與其對應的xml圖像資源,使用<nine-patch>標簽來引用Nine-Patch格式的圖像,有一個設置抖動的android:dither屬性;

>>5.圖層資源
圖層資源類似於<FrameLayout>不同的是<FrameLayout>標簽中可以包含任意的控制項,而圖層資源每一層都只有是圖像,定義圖層資源必須使用<layer-list>作為資源文件的根節點,<layer-list>標簽中包含多個<item>標簽,每一個標簽表示一個圖像,最後一個<item>標簽顯示在最頂層;
默認情況下,圖像會盡量充滿顯示圖像的范圍,圖像可能會有拉伸,為了避免圖像拉伸,可以在<item>標簽中使用<bitmap>標簽引用圖像;

復制代碼
<layer-list xmlns:android="" >
<item
android:bottom="10dip" 底端偏移的像素
android:left="10dip" 左側偏移的像素
android:right="10dip" ...
android:top="10dip"> ...
<bitmap
android:gravity="center"
android:src="@drawable/hell" />
</item>
</layer-list>
復制代碼
某些情況下,可以使用圖層來代替<FrameLayout>

>>6.圖像狀態資源,處理控制項不同狀態下的顯示狀態

復制代碼
<selector xmlns:android="">
<item android:drawable="@drawable/bm" android:state_focused="true"></item>
<item android:drawable="@drawable/bm" android:state_pressed="true"></item>
<item android:drawable="@drawable/bm"></item>
</selector>
// android:state_focused/pressed設置為true表示當前item的drawable屬性為獲取焦點和按下時的drawable樣式
復制代碼
>>7.圖像級別(Level)資源
圖像資源狀態只能指定幾種有限的狀態,可以通過圖像級別指定更多的狀態;圖像級別是一個整數的區間,可以通過ImageView.setImageLevel或Drawable.setLevel方法切換不同狀態的圖像;圖像級別資源是xml文件,必須以<level-list>為根節點,每一個item表示一個級別區間,下面是一個xml文件;通過ImageView.setImageLevel(level),根據level所在的區間設定顯示的圖像資源,如果level不在任一區間內則清空ImageView當前圖像;

<level-list xmlns:android="">
<item android:maxLevel="2" android:minLevel="0" android:drawable="@drawable/hell" />
<item android:maxLevel="4" android:minLevel="3" android:drawable="@drawable/hell" />
</level-list>
>>8.淡入淡出(Cross-fade)資源
也是切換兩個圖像(不支持多於兩個圖像的切換),並且使這兩個圖像以淡入淡出效果進行切換,如電燈在開關時逐漸變亮或逐漸變暗;

<transition xmlns:android="" >
<item android:drawable="@drawable/hell"/>
<item android:drawable="@drawable/hell"/>
</transition>

TransitionDrawable da = ...;
// 從第一張圖片切換到第二張圖片,時間效果為1秒
da.startTransition(1000);
// 從第二張圖片切換到第一張圖片,時間效果為1秒
da.reverseTransition(1000);
>>9.嵌入(insert)圖像資源
使用場景:要顯示的圖像要求要小於裝載圖像的View(圖小於View區域),也是通過xml資源定義,只有一個節點inset。

<inset xmlns:android=""
android:drawable="@drawable/hell"
android:insetLeft="10dip" > <!--圖像距離左邊的距離,延伸-->上/下/右的距離-->
</inset>
>>10.剪切(Clip)圖像資源,使用剪切圖像資源可以只顯示圖像的一部分,如可以通過此來製作進度條;

<clip xmlns:android=""
android:clipOrientation="horizontal" // 指定截取的方向
android:drawable="@drawable/hell" // 指定要截取的圖像
android:gravity="left" > // 指定截取的方式,在此為從左側開始截取
</clip>
ClipDrawable cd = ...;
cd.setLevel(1000);
上面ClipDrawable.setLevel(level)設置截取的圖像寬度,ClipDrawable預設了最大值10000(表示不進行截取),最小值為0(表示不顯示);

>>11. 比例(Scale)圖像資源

<scale xmlns:android=""
android:drawable="@drawable/hell"
android:scaleGravity="center" // 設置圖像顯示的位置
android:scaleHeight="70%" // 設置圖像顯示的高度
android:scaleWidth="80%" > // 設置圖像顯示的寬度
</scale>
>>12.形狀資源

復制代碼
<shape xmlns:android=""
android:shape="rectangle" > shape可以指定就矩形,oval(橢圓),line(直線),ring(圓)
<corners> 定義圓角
</corners>
<gradient
android:angle="45"
android:startColor="#000000"
android:endColor="#FFFFFF" > 定義顏色漸變,從左下角到或上角
</gradient>
<padding> 定義控制項內容到邊框的距離
</padding>
<stroke> 定義邊線
</stroke>
<solid> 定義填充
</solid>
<size> 定義大小
</size>
</shape>
復制代碼
13.菜單資源
菜單不僅可以在onCreateContextMenu或onCreateOptionsMenu方法中通過代碼創建,還可以在res/menu目錄中建立相應的菜單資源文件,並在上面兩個方法中載入菜單資源;
菜單資源文件必須以<menu>標簽作為根節點,每一個菜單項用一個<item>表示,如果要定義子菜單,可以在<item>標簽中包含<menu>標簽;如果想將多個菜單項劃為一組,可以使用<group>包含多個<item>標簽;

復制代碼
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
復制代碼
查看MenuInflater.inflate(int,Menu)

復制代碼
/**
* Inflate a menu hierarchy from the specified XML resource.
*
* @param menuRes Resource ID for an XML layout resource to load (e.g., <code>R.menu.main_activity</code>)
* @param menu The Menu to inflate into. The items and submenus will be added to this Menu.
*/
public void inflate(int menuRes, Menu menu) {
XmlResourceParser parser = null;
try {
parser = mContext.getResources().getLayout(menuRes);
AttributeSet attrs = Xml.asAttributeSet(parser);

parseMenu(parser, attrs, menu);
} catch ...finally {
if (parser != null) parser.close();
}
}
復制代碼
14.樣式與主題(style/theme)
>>1.樣式style
android中樣式和css中樣式作用是一樣的,都是用於為界面元素定義顯示風格,它是一個包含一個或者多個控制項屬性的集合。
定義樣式需要在res/values/styles.xml中進行定義,如下是一個樣式的定義:

<style name="textViewStyle">
<item name="android:textSize">22sp</item>
<item name="android:textColor">#FF0000</item>
</style>
<style name="textViewStyle1" parent="textViewStyle"></style><!-- 此樣式繼承自textViewStyle -->
<style name="textViewStyle.Livingstone"><!-- 樣式繼承的另一種寫法,但不可用此寫法繼承Android自帶的定義樣式? -->
<item name="android:textColor">#00FF00</item>
</style>
所有定義的樣式都會在R文件中自動生成一個資源ID,加一個點表示樣式繼承會生成上圖所示的資源id;

樣式的引用:

<TextView
style="@style/textViewStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="hello" />
>>2.主題Theme
主題應用於整個應用或者activity,樣式應用於具體的控制項上。主題的應用與樣式定義一樣,不同的是主題還可以設置窗口的顯示風格;主題的引用需要在清單文件中進行引用,如引用到整個應用之上就需要在Application節點中進行配置引用,而引用到單個Activity只需要在此Activity中進行配置引用;

復制代碼
<style name="Livingstonetheme"><!--此定義是一個無Title的主題-->
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">?android:windowNoTitle</item>
<!-- 問號表示引用此主題中android:windowNoTitle屬性的值 -->
<item name="android:textSize">18sp</item>
</style>
復制代碼
android系統定義了一些屬性,如android:theme="@android:style/Theme.Dialog",該主題可以讓Activity看起來像一個對話框,更多主題可以在文檔reference->android->R.style中查看。當主題裡面的樣式屬性值與樣式裡面的屬性值發生沖突的時候會顯示樣式裡面的值;

15.其它資源
在資源文件中還可以包括尺寸(dimen)、整數(integer)、布爾(bool) 、整形數組資源(integer-array)、資源數組(array)、顏色(color)

TypedArray ta = getResources().obtainTypedArray(int id); // 獲取數組資源,包括integer-array、array
Final總結:
除了res/values目錄中的資源名,其它目錄的資源都會以文件名在R類的相應子類中生成變數;而res/values中的資源會以name屬性值為變數名在R類的相應子類中生成變數;

⑻ Android UI 的設計規則

軟體界面設計相關的各項介紹

界面設計是為了滿足軟體專業化標准化的需求而產生的對軟體的使用界面進行美化優化規范化的設計分支。具體包括軟體啟動封面設計,軟

件框架設計,按鈕設計,面板設計,菜單設計,標簽設計,圖標設計,滾動條及狀態欄設計,安裝過程設計,包裝及商品化。

在設計的過程中有較多注意的關鍵問題,以下列出幾點:

(1)軟體啟動封面設計

應使軟體啟動封面最終為高清晰度的圖像,如軟體啟動封面需在不同的平台、操作系統上使用將考慮轉換不同的格式,並且對選用的色彩不

宜超過256 色,最好為216色安全色。軟體啟動封面大小多為主流顯示器解析度的1/6大。如果是系列軟體將考慮整體設計的統一和延續性。在上面應該醒目的標注製作或支持的公司標志、產品商標,軟體名稱,版本號,網址,版權聲明,序列號等信息,以樹立軟體形象,方便使用者或購買者在軟體啟動的時候得到提示。插圖宜使用具有獨立版權的,象徵性強的,識別性高的,視覺傳達效果好的圖形,若使用攝影也應該進行數位處理,以形成該軟體的個性化特徵。

(2)軟體框架設計

軟體的框架設計就復雜得多,因為涉及軟體的使用功能,應該對該軟體產品的程序和使用比較了解,這就需要設計師有一定的軟體跟進經驗,能夠快速的學習軟體產品,並且在和軟體產品的程序開發員及程序使用對象進行共同溝通,以設計出友好的,獨特的,符合程序開發原則的軟體框架。軟體框架設計應該簡潔明快,盡量少用無謂的裝飾,應該考慮節省屏幕空間,各種解析度的大小,縮放時的狀態和原則,並且為將來設計的按鈕,菜單,標簽,滾動條及狀態欄預留位置。設計中將整體色彩組合進行合理搭配,將軟體商標放在顯著位置,主菜單應放在左邊或上邊,滾動條放在右邊,狀態欄放在下邊,以符合視覺流程和用戶使用心理。

(3)軟體按鈕設計

軟體按鈕設計應該具有交互性,即應該有3到6種狀態效果:點擊時狀態;滑鼠放在上面但未點擊的狀態;點擊前滑鼠未放在上面時的狀態;點擊後滑鼠未放在上面時的狀態;不能點擊時狀態;獨立自動變化的狀態。按鈕應具備簡潔的圖示效果,應能夠讓使用者產生功能關聯反應,群組內按鈕應該風格統一,功能差異大的按鈕應該有所區別。

(4)軟體面板設計

軟體面板設計應該具有縮放功能,面板應該對功能區間劃分清晰,應該和對話框,彈出框等風格匹配,盡量節省空間,切換方便。

(5)菜單設計

菜單設計一般有選中狀態和未選中狀態,左邊應為名稱,右邊應為快捷鍵,如果有下級菜單應該有下級箭頭符號,不同功能區間應該用線條分割。

(6)標簽設計

標簽設計應該注意轉角部分的變化,狀態可參考按鈕。

(7)圖標設計

圖標設計色彩不宜超過64色,大小為16x16、32x32兩種,圖標設計是方寸藝術,應該加以著重考慮視覺沖擊力,它需要在很小的范圍表現出軟體的內涵,所以很多圖標設計師在設計圖標時使用簡單的顏色,利用眼睛對色彩和網點的空間混合效果,做出了許多精彩圖標。

(8)滾動條及狀態欄設計

滾動條主要是為了對區域性空間的固定大小中內容量的變換進行設計,應該有上下箭頭,滾動標等,有些還有翻頁標。狀態欄是為了對軟體當前狀態的顯示和提示。

(9)安裝過程設計

安裝過程設計主要是將軟體安裝的過程進行美化,包括對軟體功能進行圖示化。

(10)包裝及商品化

最後軟體產品的包裝應該考慮保護好軟體產品,功能的宣傳融合於美觀中,可以印刷部分產品介紹,產品界面設計。

圖標設計規范

數位設計引入了一種新的圖標設計樣式。以下是設計和創建樣式圖標的具體規范。

圖標樣式應該有趣、色彩豐富且充滿活力,因為現在的系統支持圖標是32點陣圖標,並且邊緣非常平滑。在矢量程序中繪制完每個圖標後,再用Adobe Photoshop進行處理可使圖像更加完美。本規范是專為設計者編寫的。在創建圖像時,建議您與高水平的圖形設計者一起工作,尤其是具有豐富的矢量和 3D軟體經驗的圖形設計者。

圖標設計概述的目的是讓您熟悉WindowsXP的新樣式,為創建圖標做好准備。

圖標樣式特性

(1) 色彩豐富,是對WindowsXP外觀的補充。

(2) 不同的角度和透視特性為圖像增添了動態活力。

(3) 元素的邊角十分柔和,並略微有些圓滑。

(4) 光源位於圖標的左上角,同時有環繞光照亮圖標的其它部分。

(5) 漸變效果使圖標具有立體感,進而使圖標的外觀更加豐滿。

(6) 投影使圖標更具對比度和立體感。

(7) 添加輪廓可使圖像更清晰。

(8) 日常對象(如計算機和設備)具有更現代化的個人外觀。

圖標尺寸

Windows XP圖標有四種尺寸,建議使用以下四種尺寸:

(1) 48x48像素

(2) 32x32像素

(3) 24x24像素

(4) 16x16像素

圖標色彩深度支持

WindowsXP支持32點陣圖標。32點陣圖標為24點陣圖像加上8位alpha通道。使圖標邊緣非常平滑,且與背景相融合。

每個WindowsXP圖標應包含以下三種色彩深度,以支持不同的顯示器顯示設置:

24點陣圖像加上8位alpha通道(32位)

8點陣圖像(256色),加上1位透明色

4點陣圖像(16色),加上1位透明色

調色板

圖標中使用的主要顏色。

對象的角度和分組

WindowsXP樣式圖標使用的透視網格:並非所有對象使用16?6的復雜圖像都能獲得較好效果。某些對象通常以直觀圖像顯示:文檔圖標、符號圖標(如警告或信息圖標)、單一對象圖標(如放大鏡)

除非創建重疊輔助對象可以更清楚地表達圖標的含義,否則就可讀性和完整性而言,還是應使用直觀圖像。還應考慮如何按組查看圖標,以便確定如何將對象分組。

投影

使用投影後,WindowsXP圖標將更清晰且更具立體感。可在Photoshop中實現這種效果,本指南的後面部分將對此進行描述。若要為圖像添加投影,請在 Photoshop中雙擊圖像的圖層,並選擇Drop Shadow。然後將Angle更改為135,Distance更改為 2,Size更改為2。此時投影為75%不透明黑色。

輪廓

繪制XP樣式圖標時,為圖像添加輪廓可使之更清晰,並可保證圖像在不同背景色上都具有較好效果。

概念

設計圖標時,請考慮以下因素:

使用已有概念以確保真實表達了用戶的想法。考慮圖標在用戶界面環境中以何種形式出現,以及如何作為圖標集的一部分使用。考慮圖形的

文化背景。避免在圖標中使用字母、單詞、手或臉。必須用圖標表示人或用戶時,請盡可能使其大眾化。如果圖標中的圖像由多個對象組成,應考慮如何使圖像尺寸更小。建議在圖標中使用的對象不超過三個。對於 16?6的尺寸大小,還可考慮刪除某些對象或簡化圖像使之更容易辨認。

透明工具

將Gif Movie Gear(GMG)打開一個對話框,其中顯示您的圖標。使用吸管工具單擊圖標的背景色。此顏色將更改為暗黃綠色(或在 GMG中選作

透明背景色的顏色)。重復所有4位和8位幀。若要保存圖標,請選擇 File->Save Icon As...。

創建工具欄

Windows工具欄圖標除不使用投影之外,使用的樣式與其它圖標相同。由於工具欄圖標非常小,建議您使用簡單的圖像。如果以直觀方式顯示

圖像即可清晰地表達圖標的含義,則不必使用其它復雜方式。

創建AVI

WindowsXP使用8位AVI。創建.avi文件的過程與創建圖標的過程相同-在Photoshop中准備圖像,然後將其拖動到GMG 中。請按以下指導創建8點陣圖標。若要使用GMG保存AVI,請轉至File->Export As->AVI file。創建.avi文件時,請考慮以下因素:使用品紅(R255 G0 B255)作為背景透明色。在Photoshop中,重要的一點是不要出現雜散像素。請將填充能力設置為0,並確認未選中取消鋸齒。

軟體人機界面

UI即User Interface(用戶界面)的簡稱。UI設計則是指對軟體的人機交互、操作邏輯、界面美觀的整體設計。好的UI設計不僅是讓軟體變得

有個性有品味,還要讓軟體的操作變得舒適、簡單、自由,充分體現軟體的定位和特點。

美麗的事物常常會讓人無法抗拒。這就是為什麼產品出色的外觀設計對於電腦、汽車、日用品、傢具、食品、服裝等等幾乎所有商品的銷售與推廣,都有著舉足輕重的作用的原因。

同樣的道理,對於軟體公司來說,軟體產品就是他們的商品,而軟體界面就是他們產品的外觀,界面的美觀與否,直接關繫到了軟體產品的營銷成敗。

我們可以清楚地看到,微軟公司對軟體界面設計的重視。請回想一下您在第一次見到win2000時的情景,與nt4.0相比是否驚嘆他界面的美觀性與易用性?而您如果使用過xp系統,則會被其令人神奇的感官概念而震驚折服!金山公司的金山詞霸就是國內軟體成功的例子了,從金山詞霸3.0到金山詞霸2001 的變化堪稱經典。著名的網頁動畫製作軟體flash從3.0到4.0,僅僅修改了圖標和窗體,立即大為增色…

現今世界上成功的軟體公司都非常重視軟體界面的美化設計工作,因為他們深刻地知道,在激烈的市場競爭中,僅僅有強大的功能是遠遠不夠的,不足以戰勝強勁的對手。我們可以相象一下,您在挑選手機的時候,如果有兩款手機,性能相同,而第一款比第二款要美觀很多,那麼您將選擇哪一款呢?當然是美觀的那一款了。試想,您的客戶,也會拿您和您競爭對手的軟體做這樣的比較的。

現在的軟體企業都知道,廣告和市場推銷活動對市場營銷的作用是多麼的重要,並不遺餘力地打廣告、做活動、做推廣。但我們知道,這些活動的最終目的,是為了讓用戶購買並使用軟體產品,而用戶最終使用的也是您的產品,那麼為什麼不在軟體界面的美觀性上多下些工夫呢?在諸如家用電器、汽車、電腦等成熟的市場中,用非常精美的廣告去推廣一種功能強大卻醜陋無比的產品,是一種笑話。然而,這樣的笑話在軟體行業里卻屢見不鮮。這也是像中國足球一樣,中國軟體業與國外相比較存在的一個很大的差距。

實踐證明,各商家只要在產品美觀設計方面很小投入,將會有很大產出。其投入產出比,要比在功能領先性開發上的投入大得多。

在用戶把軟體買回去後,他們和您企業的聯系,或者說您企業形象在客戶眼中的表現,很大一部分是通過您軟體的界面來傳達的,那麼美觀友好的用戶界面對於宣傳您的企業文化,對於給客戶灌輸您的企業理念,對於您企業的宣傳運做都將是非常有益的。尤其如果您的公司做的是項目承包形式的業務,那麼無論是在競標的時候,還是在項目交付使用以後,美觀的界面都會給您的客戶以信心和良好的印象。

要成為一款有競爭力的軟體,不光要有強大的功能,也需要有一個友好的界面設計。縱觀當今的it行業,其軟體界面設計的發展趨勢大體上有如下幾種技術:

1. 命令語言用戶界面的發展。

根據其語言的特點,及人機交互的形式的分為

a. 形式語言

b. 自然語言。

c. 類自然語言。

2. 圖形用戶界面的廣泛應用

圖形用戶界面和人機交互過程極大地依賴視覺和手動控制的參與,因此具有強烈的直接操作特點

3. 直接操縱用戶界面技術的成熟。

用戶最終關心的是他欲控制和操作的對象,他只關心任務語義,而不用過多為計算機語義和句法而分心。對於大量物理的、幾何空間的以及形象的任務,直接操縱已表現出巨大的優越性。

4. 多媒體用戶界面及多通道用戶界面的發展大大豐富了計算機信息的表現形式。

5. 虛擬現實技術的應用

虛擬現實系統向用戶提供身臨其境(immerse)和多感覺通道(multi-sensory)體驗,作為一種新型人機交互形式,虛擬現實技術比以前任何人機交互形式都有希望徹底實現和諧的、以「人為中心」的人機界面。

⑼ 求Android的UI好看點的音樂播放器...只要好看就好沒別的要求酷狗QQ音樂什麼的就算了吧對那種不感冒

網易雲音樂,UI和社交算國內最好的了,可能就歌曲的版權少了點

熱點內容
如何登錄男朋友的微信密碼 發布:2025-01-16 07:41:14 瀏覽:193
寶駿解壓流程 發布:2025-01-16 07:35:35 瀏覽:1
兩匹壓縮機多少錢 發布:2025-01-16 07:29:19 瀏覽:634
個人pc搭建游戲伺服器 發布:2025-01-16 07:27:09 瀏覽:969
存儲剩餘照片 發布:2025-01-16 07:25:01 瀏覽:49
ftp解除限制上傳文件個數 發布:2025-01-16 07:16:26 瀏覽:347
梯度下降法python 發布:2025-01-16 07:10:43 瀏覽:520
載入並編譯著色器apex 發布:2025-01-16 07:00:08 瀏覽:59
方舟出售腳本 發布:2025-01-16 06:57:55 瀏覽:955
釘釘代理伺服器Ip地址和瑞口 發布:2025-01-16 06:57:05 瀏覽:698