導航:首頁 > 操作系統 > android自定義列表框

android自定義列表框

發布時間:2024-01-17 01:52:51

『壹』 android里能為下拉菜單設置監聽事件么

Spinner組件的主要功能是用於進行下拉列表顯示的功能,當用戶選中下拉列表中的某個選項之後可以使用Spinner類中提供的setOnItemClickListener()方法進行監聽。

下拉菜單監聽範例:

packagecom.richard.onitemselectedlistener;

importandroid.os.Bundle;

importandroid.app.Activity;

importandroid.view.Menu;

importandroid.view.View;

importandroid.widget.AdapterView;

importandroid.widget.AdapterView.OnItemSelectedListener;

importandroid.widget.ArrayAdapter;

importandroid.widget.Spinner;

{

privateSpinnercity=null;//定義下拉列表框

privateSpinnerarea=null;//定義下拉列表框

privateString[][]areaData=newString[][]{//定義聯動菜單項

{"東城","西城","朝陽","大興","平谷"},//第一級子選項

{"黃浦","楊浦","閔行"},//第二級子選項

{"廣州"}};//第三級子選項

privateArrayAdapter<CharSequence>adapterArea=null;//下拉列表內容適配器

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);//父類onCreate()

super.setContentView(R.layout.activity_main);//調用布局管理器

this.city=(Spinner)super.findViewById(R.id.city);//取得組件

this.area=(Spinner)super.findViewById(R.id.area);//取得組件

this.city.setOnItemSelectedListener(

newOnItemSelectedListenerImpl());//設置監聽器

}

{

@Override

publicvoidonItemSelected(AdapterView<?>adapterView,Viewview,

intposition,longid){//選項選中時觸發

MainActivity.this.adapterArea=newArrayAdapter<CharSequence>(

MainActivity.this,

android.R.layout.simple_spinner_item,

MainActivity.this.areaData[position]);//實例化列表項

MainActivity.this.adapterArea.setDropDownViewResource(

android.R.layout.simple_spinner_dropdown_item);//設置下拉列表顯示風格

MainActivity.this.area

.setAdapter(MainActivity.this.adapterArea);//設置數據

}

@Override

publicvoidonNothingSelected(AdapterView<?>adapterView){//沒有選項時觸發

}

}

@Override

(Menumenu){

//Inflatethemenu;.

getMenuInflater().inflate(R.menu.main,menu);

returntrue;

}

}


『貳』 android 從底部彈出一個列表框點擊列表框的內容再同樣的彈出一個列表框,如此循環

這個用自定義dialog實現
dialog 的控制項,用你自己的布局, listView要使用自定義Adapter Window window = dialog.getWindow();
window.setGravity(Gravity.BOTTOM); //此處可以設置dialog顯示的位置
window.setWindowAnimations(R.style.mystyle); //添加動畫
styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="mystyle" parent="android:Animation">
<item name="@android:windowEnterAnimation">@anim/dialog_enter</item> //進入時的動畫
<item name="@android:windowExitAnimation">@anim/dialog_exit</item> //退出時的動畫
</style>
</resources>

位於 res/anim/dialog_enter.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

<translate
android:fromYDelta="100%p" %p指相對於父容器
android:ration="600"
/>
</set>

位於 res/anim/dialog_exit.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:toYDelta="100%p"
android:ration="600" //持續時間
/>
</set>

『叄』 如何自定義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復雜很多,有好的設計思路歡迎交流。

『肆』 怎麼給android 設置邊框

  1. android設置邊框利用內容的margin或者padding的留白加容器的背景來實現邊框效果。

  2. shape來實現邊框效果

  3. corners是設置邊框圓角

  4. stroke是描邊的

  5. layer-list實現自由邊框

嵌套一層,利用內容的margin或者padding的留白加容器的背景來實現邊框效果。其實這個道理很簡單,很早的時候那時候我們還用table做html頁面布局的時候,我們就是使用cellspacing來實現table的邊框的。現在我們也利用同樣的想法來實現。

當然內部的容器也是需要有顏色的,如果想實現內部透明的效果則需要將內部View的背景色跟背景的顏色保持一致,這是不太方便的地方。


在Android中,給一個控制項(或View)設置背景主要是通過background:xxx屬性來完成。background的參數一般來說是一個drawable資源。


給控制項設置邊框最簡單的方式就是把background設置成你預先設計好的帶圓角和邊框的背景圖。但是這種方法的缺點是沒有靈活性,不同大小的view要不同尺寸的圖片,還要去適應不同解析度的設備。


3使用9-patch(九宮格)的背景圖片來實現邊框效果。


做一個有邊框的9-patch圖片,作為要有邊框的View的背景圖即可。這樣你還可以控制哪邊有邊框,哪邊無邊框,這種方法是比較好的一種方法,而且沒有多餘的View嵌套。另外你還可以實現圓角邊框等效果。


4利用shape來實現邊框效果。


當然你可以使用shape中的stroke來實現border的效果。


/res/drawable/filename.xml


只要引用這個shape作為背景圖片即可。


5.layer-list實現自由邊框

當前版本的Android

SDK並沒有給stroke提供bottom、left、right之類的屬性,也就是說你無法通過它來讓長方形的邊框少於4條。於是有人想出了這個方法。


android:width="1dp"


android:color="#333"/>


android:left="1dp"


android:top="1dp"


android:right="1dp"


android:bottom="1dp">


android:color="#FFF"/>


在第二個item中定義的top,left...就是對應的邊框,不設置即沒有邊框。

『伍』 android下拉列表框能自己輸入內容嗎

android 下拉列表框是不允許輸入內容,可以通過代碼的形式進行填充數據。

閱讀全文

與android自定義列表框相關的資料

熱點內容
java如何將自己電腦設置成伺服器 瀏覽:858
域名怎麼制定伺服器8080埠 瀏覽:665
伺服器的主機如何使用 瀏覽:814
廣訊通伺服器地址怎麼填 瀏覽:665
山東交管伺服器繁忙雲空間 瀏覽:52
51單片機熱敏電阻壞了 瀏覽:547
遠程電腦是雲伺服器嗎 瀏覽:194
壓縮包解壓出來是音頻 瀏覽:946
明源雲erp伺服器故障 瀏覽:158
安卓主頁英文怎麼寫 瀏覽:844
2002伺服器系統怎麼設置分屏 瀏覽:72
什麼情況空調壓縮機電容壞 瀏覽:991
pagerank演算法圖解 瀏覽:318
部落決斗命令 瀏覽:404
單片機神經網路 瀏覽:323
加密的視頻不小心刪除怎麼恢復 瀏覽:466
安卓游戲充錢充錯帳號怎麼辦 瀏覽:206
有什麼是綁定手機號的app 瀏覽:499
phpredis事務 瀏覽:938
陰陽師pad怎麼登錄安卓賬號 瀏覽:736