对话框上的轮拣机android [英] Wheel picker on dialog box android

查看:193
本文介绍了对话框上的轮拣机android的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从旋转轮中获取文字作为密码。你能不能给我一些旋转轮的例子来获取文字。我没有得到任何好的例子。感谢提前。

解决方案



我最后想要得到这个旋转轮,我已经建立了滚轮来获取用户的文本。我给了一个四个整数的例子。

  package com.example.wheel; 

import kankan.wheel.widget.ArrayWheelAdapter;
import kankan.wheel.widget.OnWheelChangedListener;
import kankan.wheel.widget.OnWheelScrollListener;
import kankan.wheel.widget.WheelView;
import android.R.color;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
导入android.view.Window;
import android.widget.Button;

public class Wheelboxtcr extends Dialog实现
android.view.View.OnClickListener {

String wheelMenu1 [] = new String [] {0,1 ,2,3,4,5,6,
7,8,9};
/ * String wheelMenu2 [] = new String [] {A,B,C,D,E,F,G,
H ,I,J,K,L,M,N,O,P,Q,R,S
U,V,W,X,Y,Z}; * /

boolean wheelScrolled =
public Activity c;
public对话框d;
public按钮;

public Wheelboxtcr(Activity a){
super(a);
// TODO自动生成的构造函数stub
this.c = a;
}

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(color.transparent);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.wheellayouttcr);
button =(Button)findViewById(R.id.btn);
button.setOnClickListener(this);
initWheel1(R.id.p1);
initWheel2(R.id.p2);
initWheel3(R.id.p3);
initWheel4(R.id.p4);

}

OnWheelScrollListener scrolledListener = new OnWheelScrollListener(){
public void onScrollStarts(WheelView wheel){
wheelScrolled = true;
}

public void onScrollEnds(WheelView wheel){
wheelScrolled = false;
updateStatus();
}
};

//轮更改监听器
私有final OnWheelChangedListener changedListener = new OnWheelChangedListener(){
public void onChanged(WheelView wheel,int oldValue,int newValue){
if (!wheelScrolled){
updateStatus();
}
}
};

/ **
*更新输入PIN状态
* /
private void updateStatus(){
// Main.text3.setText(wheelMenu2 [ getWheel(R.id.p3).getCurrentItem()]);

}

private void initWheel1(int id){
WheelView wheel =(WheelView)findViewById(id);

wheel.setAdapter(new ArrayWheelAdapter< String>(wheelMenu1));
wheel.setVisibleItems(2);
wheel.setCurrentItem(0);
wheel.addChangingListener(changedListener);
wheel.addScrollingListener(scrolledListener);
}

private void initWheel2(int id){
WheelView wheel =(WheelView)findViewById(id);

wheel.setAdapter(new ArrayWheelAdapter< String>(wheelMenu1));
wheel.setVisibleItems(2);
wheel.setCurrentItem(0);
wheel.addChangingListener(changedListener);
wheel.addScrollingListener(scrolledListener);
}

private void initWheel3(int id){
WheelView wheel =(WheelView)findViewById(id);

wheel.setAdapter(new ArrayWheelAdapter< String>(wheelMenu1));
wheel.setVisibleItems(2);
wheel.setCurrentItem(0);
wheel.addChangingListener(changedListener);
wheel.addScrollingListener(scrolledListener);
}

private void initWheel4(int id){
WheelView wheel =(WheelView)findViewById(id);

wheel.setAdapter(new ArrayWheelAdapter< String>(wheelMenu1));
wheel.setVisibleItems(2);
wheel.setCurrentItem(0);
wheel.addChangingListener(changedListener);
wheel.addScrollingListener(scrolledListener);
}


私有WheelView getWheel(int id){
return(WheelView)findViewById(id);
}

private int getWheelValue(int id){
return getWheel(id).getCurrentItem();
}

@Override
public void onClick(View v){
switch(v.getId()){
case R.id.btn :{
String s = wheelMenu1 [getWheel(R.id.p1).getCurrentItem()]
+ wheelMenu1 [getWheel(R.id.p2).getCurrentItem()]
+ wheelMenu1 [getWheel(R.id.p3).getCurrentItem()]
+ wheelMenu1 [getWheel(R.id.p4).getCurrentItem()]
;

Display.jno.setText(s);
break;
}

默认值:
break;
}
dismiss();
}
}

它的布局

 <?xml version =1.0encoding =utf-8?> 
< LinearLayout xmlns:android =http://schemas.android.com/apk/res/android
android:layout_width =wrap_content
android:layout_height =103dp
android:background =@ android:color / background_dark
android:orientation =vertical>

< LinearLayout
android:layout_width =wrap_content
android:layout_height =wrap_content
android:layout_gravity =center_horizo​​ntal
android: background =@ android:color / transparent>

< kankan.wheel.widget.WheelView
android:id =@ + id / p1
android:layout_width =33dp
android:layout_height =wrap_content/>

< kankan.wheel.widget.WheelView
android:id =@ + id / p2
android:layout_width =33dp
android:layout_height =wrap_content/>

< kankan.wheel.widget.WheelView
android:id =@ + id / p3
android:layout_width =33dp
android:layout_height =wrap_content/>

< kankan.wheel.widget.WheelView
android:id =@ + id / p4
android:layout_width =33dp
android:layout_height =wrap_content/>

< Button
android:id =@ + id / btn
android:layout_width =fill_parent
android:layout_height =38dp
android:clickable =true
android:gravity =center
android:text =Set
android:textColor =#eaa932
android:textSize =20dp
android:textStyle =bold/>
< / LinearLayout>
< / LinearLayout>


I want to get text from spin wheel as password. Can you please give me any example of spin wheel for getting text from it. I didn't get any good example. Thanks in advance.

解决方案

I was trying to get this spin wheel at last I have build my wheel for getting the texts from the users. I am giving a example for four integers.

 package com.example.wheel;

 import kankan.wheel.widget.ArrayWheelAdapter;
 import kankan.wheel.widget.OnWheelChangedListener;
 import kankan.wheel.widget.OnWheelScrollListener;
 import kankan.wheel.widget.WheelView;
 import android.R.color;
 import android.app.Activity;
 import android.app.Dialog;
 import android.os.Bundle;
 import android.view.View;
 import android.view.Window;
 import android.widget.Button;

public class Wheelboxtcr extends Dialog implements
    android.view.View.OnClickListener {

String wheelMenu1[] = new String[] { "0", "1", "2", "3", "4", "5", "6",
        "7", "8", "9" };
/*String wheelMenu2[] = new String[] { "A", "B", "C", "D", "E", "F", "G",
        "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
        "U", "V", "W", "X", "Y", "Z" };*/

boolean wheelScrolled = false;
public Activity c;
public Dialog d;
public Button button;

public Wheelboxtcr(Activity a) {
    super(a);
    // TODO Auto-generated constructor stub
    this.c = a;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(color.transparent);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.wheellayouttcr);
    button = (Button) findViewById(R.id.btn);
    button.setOnClickListener(this);
    initWheel1(R.id.p1);
    initWheel2(R.id.p2);
    initWheel3(R.id.p3);
    initWheel4(R.id.p4);

}

OnWheelScrollListener scrolledListener = new OnWheelScrollListener() {
    public void onScrollStarts(WheelView wheel) {
        wheelScrolled = true;
    }

    public void onScrollEnds(WheelView wheel) {
        wheelScrolled = false;
        updateStatus();
    }
};

// Wheel changed listener
private final OnWheelChangedListener changedListener = new OnWheelChangedListener() {
    public void onChanged(WheelView wheel, int oldValue, int newValue) {
        if (!wheelScrolled) {
            updateStatus();
        }
    }
};

/**
 * Updates entered PIN status
 */
private void updateStatus() {
    // Main.text3.setText(wheelMenu2[getWheel(R.id.p3).getCurrentItem()]);

}

private void initWheel1(int id) {
    WheelView wheel = (WheelView) findViewById(id);

    wheel.setAdapter(new ArrayWheelAdapter<String>(wheelMenu1));
    wheel.setVisibleItems(2);
    wheel.setCurrentItem(0);
    wheel.addChangingListener(changedListener);
    wheel.addScrollingListener(scrolledListener);
}

private void initWheel2(int id) {
    WheelView wheel = (WheelView) findViewById(id);

    wheel.setAdapter(new ArrayWheelAdapter<String>(wheelMenu1));
    wheel.setVisibleItems(2);
    wheel.setCurrentItem(0);
    wheel.addChangingListener(changedListener);
    wheel.addScrollingListener(scrolledListener);
}

private void initWheel3(int id) {
    WheelView wheel = (WheelView) findViewById(id);

    wheel.setAdapter(new ArrayWheelAdapter<String>(wheelMenu1));
    wheel.setVisibleItems(2);
    wheel.setCurrentItem(0);
    wheel.addChangingListener(changedListener);
    wheel.addScrollingListener(scrolledListener);
}

private void initWheel4(int id) {
    WheelView wheel = (WheelView) findViewById(id);

    wheel.setAdapter(new ArrayWheelAdapter<String>(wheelMenu1));
    wheel.setVisibleItems(2);
    wheel.setCurrentItem(0);
    wheel.addChangingListener(changedListener);
    wheel.addScrollingListener(scrolledListener);
}


private WheelView getWheel(int id) {
    return (WheelView) findViewById(id);
}

private int getWheelValue(int id) {
    return getWheel(id).getCurrentItem();
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
    case R.id.btn: {
        String s = wheelMenu1[getWheel(R.id.p1).getCurrentItem()]
                + wheelMenu1[getWheel(R.id.p2).getCurrentItem()]
                + wheelMenu1[getWheel(R.id.p3).getCurrentItem()]
                + wheelMenu1[getWheel(R.id.p4).getCurrentItem()]
                ;

        Display.jno.setText(s);
        break;
    }

    default:
        break;
    }
    dismiss();
}
}

It's layout

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="103dp"
android:background="@android:color/background_dark"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:background="@android:color/transparent" >

    <kankan.wheel.widget.WheelView
        android:id="@+id/p1"
        android:layout_width="33dp"
        android:layout_height="wrap_content" />

    <kankan.wheel.widget.WheelView
        android:id="@+id/p2"
        android:layout_width="33dp"
        android:layout_height="wrap_content" />

    <kankan.wheel.widget.WheelView
        android:id="@+id/p3"
        android:layout_width="33dp"
        android:layout_height="wrap_content" />

    <kankan.wheel.widget.WheelView
        android:id="@+id/p4"
        android:layout_width="33dp"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn"
        android:layout_width="fill_parent"
        android:layout_height="38dp"
        android:clickable="true"
        android:gravity="center"
        android:text="Set"
        android:textColor="#eaa932"
        android:textSize="20dp"
        android:textStyle="bold" />
</LinearLayout>
</LinearLayout>

这篇关于对话框上的轮拣机android的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆