欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

android的下拉列表,android的下拉列表的默認(rèn)值

android中如何將下拉列表中獲取的值放到編輯框中

1.下拉列表使用Spinner。

創(chuàng)新互聯(lián)公司自成立以來(lái),一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個(gè)性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營(yíng)銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗(yàn)、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團(tuán)隊(duì)及專業(yè)的網(wǎng)站設(shè)計(jì)師團(tuán)隊(duì)。

2.布局:

Spinner android:id="@+id/Spinner01"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/Spinner

3.實(shí)現(xiàn)

1)新增選擇內(nèi)容:String[] m={"A型","B型","O型","AB型","其他"};

2)初始化設(shè)配器:

private ArrayAdapterString adapter = new ArrayAdapterString(this,android.R.layout.simple_spinner_item,m);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //設(shè)置下拉列表的風(fēng)格

spinner.setAdapter(adapter);//將adapter 添加到spinner中

spinner.setOnItemSelectedListener(new SpinnerSelectedListener()); //添加事件Spinner事件監(jiān)聽

3)新建Spinner監(jiān)聽器

class SpinnerSelectedListener implements OnItemSelectedListener{

public void onItemSelected(AdapterView? arg0, View arg1, int arg2,

long arg3) {

view.setText("你選擇的值:"+m[arg2]);//設(shè)置編輯框?yàn)楂@取到的選擇值

}

public void onNothingSelected(AdapterView? arg0) {

}

}

如何打造Android自定義的下拉列表框控件

一、概述

Android中的有個(gè)原生的下拉列表控件Spinner,但是這個(gè)控件有時(shí)候不符合我們自己的要求,

比如有時(shí)候我們需要類似windows 或者web網(wǎng)頁(yè)中常見的那種下拉列表控件,類似下圖這樣的:

這個(gè)時(shí)候只有自己動(dòng)手寫一個(gè)了。其實(shí)實(shí)現(xiàn)起來(lái)不算很難,

本文實(shí)現(xiàn)的方案是采用TextView +ImageView+PopupWindow的組合方案。

先來(lái)看看我們的自己寫的控件效果圖吧:(源碼在文章下面最后給出哈!)

二、自定義下拉列表框控件的實(shí)現(xiàn)

1. 自定義控件用到的布局文件和資源:

結(jié)果框的布局頁(yè)面:dropdownlist_view.xml:

?xml version="1.0" encoding="utf-8"?

RelativeLayout xmlns:android=""

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal"

android:id="@+id/compound"

android:background="@drawable/dropdown_bg_selector"

TextView

android:id="@+id/text"

android:layout_width="250dp"

android:layout_height="40dp"

android:paddingLeft="10dp"

android:text="文本文字"

android:gravity="center_vertical"

android:textSize="14sp"

android:padding="5dp"

android:singleLine="true" /

ImageView

android:id="@+id/btn"

android:layout_width="30dp"

android:layout_height="30dp"

android:layout_toRightOf="@+id/text"

android:src="@drawable/dropdown"

android:padding="5dp"

android:layout_centerVertical="true"

android:gravity="center"/

/RelativeLayout

下拉彈窗列表布局頁(yè)面:dropdownlist_popupwindow.xml:

?xml version="1.0" encoding="utf-8"?

LinearLayout xmlns:android=""

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

ListView

android:id="@+id/listView"

android:layout_width="280dp"

android:layout_height="wrap_content"

android:divider="#666666"

android:dividerHeight="1dp"

/ListView

/LinearLayout

selector資源文件:

dropdown_list_selector.xml:

?xml version="1.0" encoding="utf-8"?

selector xmlns:android=""

item android:state_pressed="true" android:drawable="@color/dropdownlist_item_press"/

item android:drawable="@color/dropdownlist_item"/

/selector

dropdown_bg_selector.xml:

?xml version="1.0" encoding="utf-8"?

selector xmlns:android=""

item android:state_pressed="true" android:drawable="@color/dropdownlist_press"/

item android:drawable="@color/dropdownlist_bg"/

/selector

2. 自定義下拉列表框控件類的實(shí)現(xiàn):

我們采用了TextView+ImageView+PopupWindow的組合方案,所以我的自定義控件需要重寫ViewGroup,由于我們已經(jīng)知道了,布局方向?yàn)樨Q直方向,所以這里,

我直接繼承LinearLayout來(lái)寫這個(gè)控件。具體實(shí)現(xiàn)代碼如下:

package com.czm.xcdropdownlistview;

import java.util.ArrayList;

import android.annotation.SuppressLint;

import android.content.Context;

import android.util.AttributeSet;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.ListView;

import android.widget.PopupWindow;

import android.widget.TextView;

@SuppressLint("NewApi")

/**

* 下拉列表框控件

* @author caizhiming

*

*/

public class XCDropDownListView extends LinearLayout{

private TextView editText;

private ImageView imageView;

private PopupWindow popupWindow = null;

private ArrayListString dataList = new ArrayListString();

private View mView;

public XCDropDownListView(Context context) {

this(context,null);

// TODO Auto-generated constructor stub

}

public XCDropDownListView(Context context, AttributeSet attrs) {

this(context, attrs,0);

// TODO Auto-generated constructor stub

}

public XCDropDownListView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

// TODO Auto-generated constructor stub

initView();

}

public void initView(){

String infServie = Context.LAYOUT_INFLATER_SERVICE;

LayoutInflater layoutInflater;

layoutInflater = (LayoutInflater) getContext().getSystemService(infServie);

View view = layoutInflater.inflate(R.layout.dropdownlist_view, this,true);

editText= (TextView)findViewById(R.id.text);

imageView = (ImageView)findViewById(R.id.btn);

this.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if(popupWindow == null ){

showPopWindow();

}else{

closePopWindow();

}

}

});

}

/**

* 打開下拉列表彈窗

*/

private void showPopWindow() {

// 加載popupWindow的布局文件

String infServie = Context.LAYOUT_INFLATER_SERVICE;

LayoutInflater layoutInflater;

layoutInflater = (LayoutInflater) getContext().getSystemService(infServie);

View contentView = layoutInflater.inflate(R.layout.dropdownlist_popupwindow, null,false);

ListView listView = (ListView)contentView.findViewById(R.id.listView);

listView.setAdapter(new XCDropDownListAdapter(getContext(), dataList));

popupWindow = new PopupWindow(contentView,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

popupWindow.setBackgroundDrawable(getResources().getDrawable(R.color.transparent));

popupWindow.setOutsideTouchable(true);

popupWindow.showAsDropDown(this);

}

/**

* 關(guān)閉下拉列表彈窗

*/

private void closePopWindow(){

popupWindow.dismiss();

popupWindow = null;

}

/**

* 設(shè)置數(shù)據(jù)

* @param list

*/

public void setItemsData(ArrayListString list){

dataList = list;

editText.setText(list.get(0).toString());

}

/**

* 數(shù)據(jù)適配器

* @author caizhiming

*

*/

class XCDropDownListAdapter extends BaseAdapter{

Context mContext;

ArrayListString mData;

LayoutInflater inflater;

public XCDropDownListAdapter(Context ctx,ArrayListString data){

mContext = ctx;

mData = data;

inflater = LayoutInflater.from(mContext);

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return mData.size();

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return null;

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

// 自定義視圖

ListItemView listItemView = null;

if (convertView == null) {

// 獲取list_item布局文件的視圖

convertView = inflater.inflate(R.layout.dropdown_list_item, null);

listItemView = new ListItemView();

// 獲取控件對(duì)象

listItemView.tv = (TextView) convertView

.findViewById(R.id.tv);

listItemView.layout = (LinearLayout) convertView.findViewById(R.id.layout_container);

// 設(shè)置控件集到convertView

convertView.setTag(listItemView);

} else {

listItemView = (ListItemView) convertView.getTag();

}

// 設(shè)置數(shù)據(jù)

listItemView.tv.setText(mData.get(position).toString());

final String text = mData.get(position).toString();

listItemView.layout.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

editText.setText(text);

closePopWindow();

}

});

return convertView;

}

}

private static class ListItemView{

TextView tv;

LinearLayout layout;

}

}

三、如何使用該自定義下拉列表框控件

使用該控件和使用普通的自帶的控件一樣,首先需要在布局文件中引用該控件:

RelativeLayout xmlns:android=""

xmlns:tools=""

android:id="@+id/container"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="com.czm.xcdropdownlistview.MainActivity"

tools:ignore="MergeRootFrame"

com.czm.xcdropdownlistview.XCDropDownListView

android:id="@+id/drop_down_list_view"

android:layout_marginTop="10dp"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true" /

/RelativeLayout

其次,就是在代碼中使用該控件:

package com.czm.xcdropdownlistview;

import java.util.ArrayList;

import android.app.Activity;

import android.os.Bundle;

/**

* 使用下拉列表框控件 示例

* @author caizhiming

*

*/

public class MainActivity extends Activity {

XCDropDownListView dropDownListView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

dropDownListView = (XCDropDownListView)findViewById(R.id.drop_down_list_view);

ArrayListString list = new ArrayListString();

for(int i = 0;i 6;i++){

list.add("下拉列表項(xiàng)"+(i+1));

}

dropDownListView.setItemsData(list);

}

}

對(duì)了,這個(gè)控件中,我沒(méi)有實(shí)現(xiàn)點(diǎn)擊item項(xiàng)回調(diào)接口,這個(gè)可能對(duì)有些寫慣了回調(diào)的可能覺(jué)得少了寫什么的感覺(jué),有興趣的你可以自己添加相關(guān)回調(diào)操作哈,這個(gè)大家應(yīng)該都會(huì)把。

android中下拉列表怎么用

你是說(shuō)狀態(tài)欄吧。那個(gè)可以顯示未接來(lái)電,新來(lái)短信,正在運(yùn)行的一些程序(比如QQ)

下拉就行~

Android 下拉列表Spinner

在UI中經(jīng)常會(huì)使用到下拉列表,在android控件中有兩個(gè)下拉列表控件:

在xml中添加控件的使用:

主題:

這些都沒(méi)有達(dá)到我要的效果:

android:entries // 傳入的是values文件夾下的arrayx.xml內(nèi)的數(shù)據(jù)

android:spinnerMode //顯示模式有popmenu和dialog兩種

android:prompt //當(dāng)顯示模式為dialog時(shí)生效,作用為顯示dialog的標(biāo)題內(nèi)容

當(dāng)前標(biāo)題:android的下拉列表,android的下拉列表的默認(rèn)值
路徑分享:http://chinadenli.net/article6/dsdedog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站響應(yīng)式網(wǎng)站網(wǎng)站維護(hù)營(yíng)銷型網(wǎng)站建設(shè)App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)