當前位置:首頁 » 安卓系統 » spinnerandroid

spinnerandroid

發布時間: 2022-08-27 18:48:16

⑴ android 的spinner是一個什麼作用的控制項

可以使用Button加ListPopupWindow實現和spinner一樣的效果,並且可以監聽到點擊事件(Spinner是不能設置點擊事件的)
布局文件,只有一個button
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent" >

<Button
android:id="@+id/button"
android:layout_width="100dp"
android:layout_height="50dp"
/>
</LinearLayout>
代碼

public class MainActivity extends Activity {

private Button button;
private ListPopupWindow popupWindow;
private List<String> strings;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
strings = new ArrayList<String>();
strings.add("item1");
strings.add("item2");
strings.add("item3");
button = (Button)findViewById(R.id.button);
popupWindow = new ListPopupWindow(this);
popupWindow.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,strings));
popupWindow.setAnchorView(button);
popupWindow.setWidth(LayoutParams.WRAP_CONTENT);
popupWindow.setHeight(LayoutParams.WRAP_CONTENT);
popupWindow.setModal(true);
popupWindow.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
button.setText(strings.get(position));
popupWindow.dismiss();
}
});
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
popupWindow.show();
}
});
}
}

⑵ 怎麼實現Android的Spinner控制項不可編輯

spinner 是View的子類,View 有個屬性android:clickable=false 就是設置控制項不可點擊


關於Spinner的實例代碼:

  1. 新建一個android工程,名稱為Spinner。同時建一個Activity,名稱為SpinnerActivity。


  2. 修改res/layout/main.xml

    ⑶ android中spinner顏色特別淡根本看不清怎麼辦

    1. 自定義adapter返回自己的item view

    2. 修改spinner樣式

    3. 刪掉android:textColor="#FFFFFF"

    ⑷ 怎麼改變android spinner下拉列表的寬度

    設置spinner下拉菜單的寬度可在布局文件中添加如下語句:
    android:dropDownWidth="100dp"

    其中,100dp就是下拉菜單的寬度值,單位為像素。

    Spinner控制項是一種列表類型的控制項,它的繼承關系如下:
    java.lang.Object
    ↳ android.view.View
    ↳ android.view.ViewGroup
    ↳ android.widget.AdapterView<Textends android.widget.Adapter>
    ↳ android.widget.AbsSpinner
    ↳ android.widget.Spinner
    android.widget.Spinner繼承了android.view.ViewGroup類。

    ⑸ android spinner的用法請教

    可以用ArrayAdapter實現。
    給你你個思路吧:

    List<ShangPin> spList=new ArrayList<ShangPin>(); //商品類中有兩個屬性 :物品的名稱,物 品的url;
    List<String> data=new ArrayList<String>(); //這個List用來裝 物品的名稱

    for (int i = 0; i < spList.size(); i++) {
    data.add(spList.get(i).getSpName()); //getSpName() 物品的名稱的get方法
    }
    sp.setAdapter(new ArrayAdapter<String>(RegisterActivity.this, android.R.layout.simple_spinner_item, data)); //設置Adapter

    //設置監聽事件
    sp_sheng.setOnItemSelectedListener(new OnItemSelectedListener() {

    @Override
    public void onItemSelected(AdapterView<?> parent,
    View view, int position, long id) {

    TextView tv=(TextView) view; //這里的view是TextView類型的 , 自己可以打出來看看
    for (int i = 0; i < spList.size(); i++) { //循環商品類的List
    if(spList.get(i).getSpName().equals(tv.getText())){ //判斷選中項在List中對應的商品類
    String uri= result.get(i).getUri(); //這樣就可以拿到Uri了
    }

    。。。。。。 拿到了Uri那就做自己想做的事去吧

    ⑹ Android Spinner布局

    spinner.setOnItemSelectedListener(newAdapterView.OnItemSelectedListener(){
    @Override
    publicvoidonItemSelected(AdapterView<?>parent,Viewview,intposition,longid){
    //選中哪一個(position)後進行的操作
    }

    @Override
    publicvoidonNothingSelected(AdapterView<?>parent){

    }
    });

    ⑺ android spinner怎麼用

    android中的spinner控制項是表示下拉菜單的意思,按照如下步驟使用:

    1、首先使用Android studio創建一個項目,如下圖:

    4、最後去類中綁定控制項,並添加數據即可使用。

    ⑻ android Spinner控制項 選擇後為什麼會自動彈到界面頂部

    我今天也遇到這個問題了
    開始以為當spinner在scrollview時 存在android版本兼容問題
    於是改成了popupwindow 比spinner麻煩好多 頁面有多個EditText用於彈出popupwindow展示不同的下拉數據 點擊TextView要記錄當前的EditText當點擊popupwindow的列表項關閉popupwindow時要取到數據手動調用之前記錄的EditText的setttext方法
    而用spinner 這一切都是自動的
    前面都是廢話 結果用popupwindow實現完後還是一樣 會自動滾動到頂部 這時才仔細分析問題原因
    原來是在點擊EditText(設置了clickable=true;focusable=false)彈出spinner/popupwindow時焦點在頁面外的EditText上 ,於是關閉spinner/popupwindow時頁面自動滾動到獲取焦點的EditText
    解決方法很簡單 在focusable=false的EditText的點擊事件里去掉焦點
    if (getCurrentFocus()!=null) {
    getCurrentFocus().clearFocus();
    }

熱點內容
cocos2d30編譯 發布:2024-10-25 17:20:51 瀏覽:993
app直播平台源碼 發布:2024-10-25 17:19:57 瀏覽:223
asp文件上傳帶進度條 發布:2024-10-25 17:19:54 瀏覽:656
mp4反編譯軟體 發布:2024-10-25 16:47:33 瀏覽:998
哪個是提升電腦幀數的配置 發布:2024-10-25 16:43:45 瀏覽:95
以一種訪問許可權不允許的方式 發布:2024-10-25 16:38:32 瀏覽:404
嵌入式linux開發環境搭建 發布:2024-10-25 16:26:51 瀏覽:325
奧迪a4l乞丐版什麼配置 發布:2024-10-25 16:20:33 瀏覽:411
python讀取txt文件數據 發布:2024-10-25 16:07:36 瀏覽:23
獲取區域網伺服器的真實ip 發布:2024-10-25 16:01:36 瀏覽:28