導航:首頁 > 操作系統 > android開發美化

android開發美化

發布時間:2023-07-29 06:09:23

A. 如何自定義android Dialog的樣式

如何自定義Android Dialog的樣式? Android 中自定義Dialog的樣式,主要是通過自定義的xml,然後載入到dialog的背景中,如下步驟:

1、自定義Dialog
final Dialog dialog = new Dialog(this, R.style.Theme_dialog);
2、窗口布局
View contentView = LayoutInflater.from(this).inflate(R.layout.select_list_dialog,null);
3、把設定好的窗口布局放到dialog中
dialog.setContentView(contentView);
4、設定點選視窗空白處取消會話

dialog.setCanceledOnTouchOutside(true);
5、具體的操作
ListView msgView = (ListView)contentView.findViewById(R.id.listview_flow_list);
6、展示視窗
dialog.show();例:final Dialog dialog = new Dialog(this,R.style.Theme_dialog);View contentView =LayoutInflater.from(this).inflate(R.layout.select_list_dialog, null);dialog.setContentView(contentView);dialog.setCanceledOnTouchOutside(true);ListView msgView = (ListView)contentView.findViewById(R.id.listview_flow_list);TextView titleText = (TextView)contentView.findViewById(R.id.title);titleText.setText("請選擇銀行卡");SelectBankCardDialogAdapter adapter =new SelectBankCardDialogAdapter(this, mBankcardList);msgView.setAdapter(adapter);msgView.setOnItemClickListener(newOnItemClickListener() {@Overridepublic void onItemClick(AdapterViewparent, View view, int position, long id) {Toast.makeText(RechargeFlowToMobileActivity.this, position+"",0).show();mSelectCard =mBankcardList.get(position);String area = mSelectCard.getBank_card();mCardNumberText.setText(area);dialog.di *** iss();}});Button closeBtn = (Button)contentView.findViewById(R.id.close);closeBtn.setClickable(true);closeBtn.setOnClickListener(newView.OnClickListener() {@Overridepublic void onClick(View v) {dialog.di *** iss();}});dialog.show();
以上就是在Android開發自定義dialog樣式的方法和步驟,android很多的控制元件都提供了介面或者方法進行樣式的定義和修改。
如何自定義android Button樣式
返回部落格列表
轉 android自定義button樣式
sumpower
釋出時間: 2014/02/25 19:56
閱讀: 4162

收藏: 0

點贊: 0

評論: 0
摘要
android自定義button樣式
在Android開發應用中,預設的Button是由系統渲染和管理大小的。而我們看到的成功的移動應用,都是有著酷炫的外觀和使用體驗的。因此,我們在開發產品的時候,需要對預設按鈕進行美化。在本篇里,筆者結合在應用開發中的經驗,探討一下自定義背景的按鈕、自定義形狀按鈕的實現方法。
首先看實現效果截圖:
自定義背景的按鈕目前有2種方式實現,向量和點陣圖。
1. 向量圖形繪制的方式
向量圖形繪制的方式實現簡單,適合對於按鈕形狀和圖案要求不高的場合。步驟如下:
(a) 使用xml定義一個圓角矩形,外圍輪廓線實線、內填充漸變色,xml程式碼如下。
view plain
bg_alibuybutton_default.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="地址">
<item>
<shape android:shape="rectangle">
<solid android:color="#FFEC7600" />
<corners
android:LeftRadius="5dip"
android:RightRadius="5dip"
android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip" />
</shape>
</item>
<item android:="1px" android:bottom="1px" android:left="1px" android:right="1px">
<shape>
<gradient
android:startColor="#FFEC7600" android:endColor="#FFFED69E"
android:type="linear" android:angle="90"
android:centerX="0.5" android:centerY="0.5" />
<corners
android:LeftRadius="5dip"
android:RightRadius="5dip"
android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip" />
</shape>
</item>
</layer-list>
同樣定義bg_alibuybutton_pressed.xml和bg_alibuybutton_selected.xml,內容相同,就是漸變顏色不同,用於按鈕按下後的背景變化效果。
(b) 定義按鈕按下後的效果變化描述檔案drawable/bg_alibuybutton.xml,程式碼如下。
view plain
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="地址">
<item android:state_pressed="true"
android:drawable="@drawable/bg_alibuybutton_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/bg_alibuybutton_selected" />
<item android:drawable="@drawable/bg_alibuybutton_default" />
</selector>
(c) 在你需要的介面定義檔案中,如layout/main.xml中定義一個Button控制元件。
view plain
<Button
android:layout_width="120dip"
android:layout_height="40dip"
android:text="向量背景按鈕" android:background="@drawable/bg_alibuybutton" />
這樣,自定義背景的按鈕就可以使用了,在實現onClick方法後就可以響應操作。

android自帶的樣式比較難看,如何能夠自定義按鈕的樣式,使其顯示的跟美工設計的效果一樣,現與大家分享下
在layout中新增2個按鈕,從下圖中可以看出在按鈕中呼叫了style和android:background屬性,這兩個屬性一個是自定義樣式,一個是給按鈕新增背景圖片
展開res目錄,可以看到在values目錄下有styles.xml檔案,該檔案用於自定義樣式,雙擊開啟
標注的是我自定義的樣式,name為BtnStyle,當按鈕呼叫自定義樣式的時候訪問這個name
在button中呼叫自定義樣式的方法,比較簡單
如何往按鈕中新增自定義圖片,使按鈕看起來更漂亮些,因不同手機解析度不同,那必然牽扯到圖片的拉伸,在android系統下有個很好的技術「九宮格「,可以對圖片進行處理,只對區域性進行拉伸,給工具目錄儲存在android\sdk\tools\draw9patch.bat,經過該工具處理的圖片以.9.png結尾,放到drawable資料夾中
在Button中通過android:background屬性載入圖片的方法,至此我們自定義的按鈕樣式也就完成了,當然這只是個引子,在具體的專案工程中實現的效果要比這個demo復雜很多,有好的設計思路歡迎交流。

B. android中如何美化發送簡訊息的程序界面。

1.跟開發WEB程序一樣,先做出UI界面,因為這里我們是要實其功能,界面不作過多的美化。代碼如下:
Activity_main.xml
<TextView
android:id="@+id/tv_input_number" //這個是提示用戶輸入電話號碼的TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/please_input_number"
android:textSize="20px" />
<EditText
android:id="@+id/et_number" //這個是輸入電話號碼的文本框
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_input_number"
android:ems="10"
android:inputType="phone" >
</EditText>
<TextView
android:id="@+id/tv_input_content" //提示輸入內容的文本
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/et_number"
android:layout_below="@+id/et_number"
android:text="@string/please_input_content"
android:textSize="20px"
android:textColor="#333333"
/>
<EditText
android:id="@+id/et_content" //這是輸入文本內容的文本編輯器
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_input_content"
android:singleLine="true"
android:lines="5"
android:inputType="textMultiLine" />
<Button
android:id="@+id/bt_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/et_content"
android:layout_below="@+id/et_content"
android:layout_marginTop="17dp"
android:height="30px"
android:text="@string/send"
android:textColor="#ff3333"
android:textSize="20px" />
</RelativeLayout>
備註:要注意創建相應該元件的ID號。
2.開始實功能代碼.在MainAcivity.java文件中加入以下代碼:
MainAcivity.java
public class MainActivity extends ActionBarActivity implements OnClickListener {
private EditText et_number;
private EditText et_content;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_number = (EditText) findViewById(R.id.et_number);
et_content= (EditText) findViewById(R.id.et_content);
Button bt_send=(Button) findViewById(R.id.bt_send);
bt_send.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt_send:
String number=et_number.getText().toString().trim();
String content=et_content.getText().toString().trim();
if(TextUtils.isEmpty(number)||TextUtils.isEmpty(content)){
Toast.makeText(this, "手機號和內容不能為空", Toast.LENGTH_LONG).show();
return;
}else{
SmsManager smsManger=SmsManager.getDefault();
ArrayList<String> contents=smsManger.divideMessage(content);
for(String str:contents){
smsManger.sendTextMessage(number, null, str, null, null);
}
}
break;
default:
break;
} }}

C. 這8款Android桌面小部件,能讓你的Android好用很多倍

安卓手機一直以來以其可玩性高而受到歡迎,即使是簡單的桌面小部件,也有人能玩出花來。強大如 Zooper Widget 和 KWGT 等復雜且定製性極強的美化類桌面插件應用,抑或是朴實無華但又必不可少的時間和天氣小部件,桌面小部件實實在在地佔據著每一部安卓手機桌面的一部分。

手機畢竟是拿來用的,對於大部人來說,是否實用、美觀和方便才是考量一個小部件能否在桌面上生存的必要條件。本文就旨在介紹一些值得我們放置在桌面的應用小部件。

這些小部件更實用

Another Widget

自 Pixel Launcher 推出以後,簡潔實用的 At A Glance 桌面插件便成為了諸多安卓用戶心頭的一顆硃砂痣,奈何高貴的 Pixel 用戶專屬這一限制使得我等只得望洋興嘆。好在,萬能的 XDA 大神們動手破除了 Pixel Launcher 的諸多限制,使得更多人得以享用這一特性。但是面對更改圖標困難、界面相對簡陋的 Pixel Launcher ,廣大人民群眾日益增長的對於高自定義的需求和現有的不足之間的矛盾日益凸顯。 Another Widget 的出現便很好地解決了這一矛盾:

Another Widget 的設置界面

Another Widget 是一款像素級模仿 At A Glance 這一特性的桌面小部件,對比 At A Glance ,它還有如下優點:支持更換字體顏色,可自定義顯示的日歷,設置即將到來的事件最早何時可以顯示在桌面,還可以切換天氣源。

顯示效果

Google Calender 的日程列表

Google Calendar 的小部件有兩種,一種為月視圖,另一種為日程列表。相比於月視圖,將日程列表放置在桌面更能幫助我們了解接下來的日程,起到良好的提醒作用。

Google Calender 日程列表

倒計時類

每個人的人生中總有些特殊而重要的時刻值得我們銘記和回顧,這個時候,把它們放置在桌面就顯得很有必要。放置重要考試的倒計時能讓我們每次看到桌面都「膽戰心驚」,提醒我們滾去學習;同樣也可以放置親人或男/女朋友的生日倒計時乃至你們共同度過了多久的甜蜜歲月。萬一被男/女朋友「不小心」看到沒准還會被誇很有心。

我們可以使用「何時」、「倒數日」、「Hurry」等應用來添加倒計時小部件到桌面。

單事件效果對比

幫你更快地觸發所需功能的小部件

iOS 於 2015 年宣布了 3D Touch 這一特性,旨在提高手機操作效率,幫助用戶更快地從桌面進入所需功能。一年後,谷歌也推出了 Shortcuts 這一特性,其一度被看作是安卓版的 3D Touch 功能。不過不同於 3D Touch 對於手機硬體的硬性需要, Shortcuts 則只需要系統(Android 7.1 及以上)和應用支持,門檻低上了不少(安裝 Nova Launcher 等第三方桌面更是可以讓低安卓版本也享受這一特性)。

App Shortcuts

事實上,無論是 3D Touch 還是 App Shortcuts ,用戶的實際利用率一直不高,一是因為每個應用長按調出的菜單功能不一樣,記憶難度大;二是因為用戶難以形成習慣。更不必說,許多國產定製 UI 直接閹割掉了這一功能。當然,我們還是可以盡可能地把這一特性利用起來,使之服務於我們。谷歌允許用戶將 Shortcuts 中的某一項通過拖拽固定在桌面,這為用戶提供了不少方便。那麼哪些快捷方式值得我們單獨將其放置在寸土寸金的桌面上呢?

支付寶「掃一掃」和「付款碼」等小部件

移動支付的燎原之火早已燒遍全國,連門口賣雞蛋灌餅的大爺都知道讓你掃他的紅包碼了。掃碼已經變成了手機攝像頭所承擔的重要功能之一,把「掃一掃」的小部件放在桌面,我們便無需再靠著一指禪點點點,只需一步,就能瀟灑地付款走人。同樣,「付款碼」小部件放置在桌面也能在一定程度上減少操作。每次在超市排隊的時候,看到大爺大媽們手忙腳亂地找付款碼,都不禁感嘆,所謂的科技進步帶來的便捷究竟何時才能被所有人共享。

支付寶掃一掃

在這里不得不批評一下「生活方式應用」某信了,時至今日安卓版的微信也不支持 Shortcuts ,落後支付寶不是一點半點,是半年啊。想要快速打開微信掃一掃或者付款碼我們只能等待官方支持了,當然了,MIUI 等國產系統的負一屏支持快速打開這些活動。對於原生或類原生系統的用戶來說,現有方式均需要獲取 root 許可權,考慮到安全性,在此不做推薦。

蝦米的「每日播放 30 首」和網易雲的「私人 FM」

如果只是想要聽歌,為了躲開漫長的開屏廣告,我們可以把相應的快捷方式放置於桌面。這樣只需一鍵便可開始暢享音樂。

通過常規方式打開:

常規方式打開

通過快捷方式打開:

快捷方式打開

同樣實用的還有一閃的「相機」快捷方式,手機默認設置的「電池使用情況」快捷方式,適合更新強迫症的 Play Store 的「我的應用」快捷方式等等。我們可以根據自己使用某一功能的頻率來決定是否需要放置相應的小部件,對於一些使用率不高的功能,我們通過長按圖標調出即可。

值得一試的快捷方式

為了好玩,沒卵用也要放的小部件

有些時候,為了好玩和個性,許多人會花費大量時間來美化桌面。這種行為我認為屬於個人的愛好,尊重即可。不過,如果你只是想要小小地折騰一下,這里也推薦一款好玩的應用:會話微件。

會話微件支持在桌面放置「對話」、「單句」和「卡片」,甚至支持和同樣使用這一應用的人在桌面上「聊天」。我們可以利用會話微件放置自己喜歡的歌詞或名言,還能夠查看天氣甚至查詢物流情況,根據會話微件的教程,我們能夠做出各種效果的桌面小部件。具體實用與否還要由你來定奪。

閱讀全文

與android開發美化相關的資料

熱點內容
二次元壓縮包 瀏覽:698
stc模擬器編程器 瀏覽:155
伺服器銷售怎麼做好 瀏覽:87
什麼是com編程 瀏覽:848
演算法工程師最新資訊 瀏覽:608
郵政銀行卡怎麼在app簽約綁定 瀏覽:49
壓縮卷一直轉 瀏覽:976
初一編程小程序怎麼做 瀏覽:826
bt軟體文件夾名稱 瀏覽:157
unix創建命令 瀏覽:622
devc是多少位的編譯器 瀏覽:980
怎麼樣能快點升安卓系統 瀏覽:976
奇跡mu用什麼伺服器 瀏覽:605
如何讓軟體在多個安卓系統上運行 瀏覽:575
java判斷半形 瀏覽:880
java判斷正負 瀏覽:320
刷頭條程序員的日常 瀏覽:104
吉林程序員吐槽 瀏覽:243
單片機溫度范圍 瀏覽:420
程序員為什麼素質低 瀏覽:898