Desarrollo de Android: paleta de comprensión

  En el desarrollo de Android, los ingenieros de Google han empaquetado muchos botones para nosotros, lo que hace que nuestro desarrollo sea muy conveniente y conveniente.

  Así que vamos a conocer los botones de uso común en la actualidad. Ya he hablado sobre el botón Botón en detalle en el curso anterior, por lo que no lo repetiré aquí.

  Evento de clic en el botón del monitor de desarrollo de Android : http://www.cnblogs.com/xiao-chuan/p/6074075.html

 

1. Botones comunes

  1. Propiedades públicas del botón

  Los atributos públicos del botón incluyen: 1) Atributos de estilo de uso común

              un fondo

              b, margen

              C,……

            2) ancho y alto

              a, ancho

              b, altura

            3) tamaño

              Un tamaño

              b, máx. (mín.)

              C,……

            4) Contenido de visualización de texto

              un texto

              b, pista

            5) Identificación de clave única

              ayuda

            6) Haga clic en evento

 

  2, vista de texto:

    Vista de texto: cuadro de texto

    autoLink: la ruta predeterminada para el texto

 

copiar codigo
<TextView 
        android:layout_width="match_parent" 
        android:layout_height="50sp" 
        android:text="中国移动:10086" 
        android:textSize="20sp" 
        android:autoLink="phone" 
        /> 
    <TextView 
        android:layout_width="match_parent " 
        android:layout_height="50sp" 
        android:text="站长邮箱:[email protected]" 
        android:textSize="20sp" 
        android:autoLink="email" 
        /> 
    <TextView 
        android:layout_width="match_parent" 
        android:layout_height="50sp" 
        android:text="Encuentre Baidu si necesita algo: http://www.baidu.com" 
        android:textSize="20sp" 
        android:autoLink="web"
        />
copiar codigo

 

Así que aquí, si hace clic en el primer TextView, el efecto predeterminado es el teléfono, entonces, ¿qué pasa con el segundo y el tercero~~ Aquí está el diagrama de efectos de la realización, aquí puede ver que no especifiqué el color del texto, ¡aquí está la atención, autoLink tiene un color predeterminado!

 

 

 

  3, editar texto

    Editar cuadro de entrada de texto

    inputType: el formato de texto del cuadro de entrada

 

copiar codigo
<EditText 
        android:id="@+id/userName" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="请输入用户名" 
        android:textColor="@android:color/holo_red_light" 
        android :textSize="20sp" 
        android:inputType="text" 
        android:maxLength="12" 
        /> 

    <EditText 
        android:id="@+id/userAge" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android :hint="请输入年龄" 
        androide:maxLength="3" 
        android:numeric="integer" 
        android:inputType="number" 
        />
    <EditText
        android:id="@+id/userPwd" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="请输入密码" 
        android:maxLength="12" 
        android:password="true" 
        android: inputType="textPassword" 
        /> 
    <EditText 
        android:id="@+id/userAddress" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="请输入详细地址" 
        android:maxLength="500 " 
        androide:líneas="3" 
        androide:inputType="textoMultilínea" 
        />
copiar codigo

 

  tipo de entrada:

    texto: formato de texto

    textPassword: formato de contraseña

    número: formato de número

    textMultiLink: formato de barra de direcciones

    ……

  Nota: Cuando escriba, el método de entrada cambiará automáticamente el método de entrada. Si ingresa en formato de contraseña, el contenido de entrada no será visible.

  

  4, barra

  Aquí se dividen en:

    1) SeekBar: programación, como nuestro volumen, brillo, etc.

    2) RatingBar: Elija, los más comunes son comentarios en sitios web de comercio electrónico, etc.

    3) Barra de progreso: carga, descarga, carga de imágenes, descarga de archivos, etc.

 

copiar codigo
<TextView 
        android:id="@+id/showText" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="我是一个TextView" 
        android:textSize="20sp" 
        /> 
    <SeekBar 
        android: id="@+id/seekBar" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:max="50" 
        android:progress="20" 
        /> 
    <RatingBar 
        android:id="@+id/ calificaciónBar" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:numStars="5" 
        android:rating="1"
        android:stepSize="1" 
        /> 
    <ProgressBar 
        android:id="@+id/progressBar" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:max="100" 
        android:progress="10" 
        /> 
    <ProgressBar 
        android:id="@+id/progressBar2" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:max="100" 
        android:progress="10" 
        style="?android:attr/progressBarStyleLarge" 
        />  
    <ProgressBar
        android:id="@+id/progressBar3" 
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:max="100" 
        android:progress="10" 
        style="?android:attr/progressBarStyleHorizontal" 
        /> 
    <LinearLayout android:layout_width="match_parent" 
        android:layout_height="wrap_content" android :orientación="horizontal"> 
        <Botón 
            android:layout_width="0dp" 
            android:layout_weight="1" 
            android:layout_height="wrap_content" 
            android:text="开始" 
            android:onClick="doStart" 
            /> 
        <Botón  
            android:layout_width="0dp"
            android:layout_weight="1" 
            android:layout_height="wrap_content"
            android:text="end" 
            android:onClick="doStop" 
            /> 
    </LinearLayout>
copiar codigo

 

  Efecto de página:

 

 

  Lo siguiente es para que todos tengan más claro sus efectos y diferencias:

 

copiar codigo
SeekBar privado sb; 
    TextView privado mostrarTexto; 
    RatingBar privado rb; 
    Barra de progreso privada pb3; 
    @Override 
    protected void onCreate(Paquete de estado de instancia guardado) { 
        super.onCreate(estado de instancia guardado); 
        setContentView(R.layout.activity_seek_bars); 

        showText=(TextView)findViewById(R.id.showText); 
        sb=(SeekBar)findViewById(R.id.seekBar); 
        rb=(RatingBar)findViewById(R.id.ratingBar); 
        pb3=(ProgressBar)findViewById(R.id.progressBar3); 
        //为seekBar绑定事件
        sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {  
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
            } 
            @Override 
            public void onStartTrackingTouch(SeekBar seekBar) { 
            } 
            @Override 
            public void onProgressChanged(SeekBar seekBar, int progreso, 
                    boolean fromUser) { 
                //改变showText字体大小
                showText.setTextSize(progreso); 
            } 
        }); 

        rb.setOnRatingBarChangeListener(nuevo OnRatingBarChangeListener() { 
            @Override 
            public void onRatingChanged(RatingBar ratingBar, float rating,  
                    boolean fromUser) {
                Toast.makeText(SeekBarsActivity.this, "你选择了"+rating+"星", 3000).show(); 
            } 
        ); 
    } 

    //Empezar a descargar [Nota: excepto ProgressBar, toda la interfaz de usuario debe estar en el subproceso principal de la interfaz de usuario medio operación] 
    booleano isRun=true; 
    public void doStart(View view) throws Exception{ 
        isRun=true; 
        //Cree un subproceso que ejecute los cambios de la barra de progreso 
        new Thread(new Runnable() {     
            @Override 
            public void run() { 
                / /Las operaciones que consumen mucho tiempo no se pueden ejecutar en el subproceso principal 
                while(isRun){ 
                    if(pb3.getProgress()<100){ 
                        pb3.setProgress(pb3.getProgress()+1); 
                        try { 
                            Thread.sleep(50);
                        } catch (InterruptedException e) {  
                            e.printStackTrace(); 
                        }
                    }else{ 
                        isRun=false; 
                        //La forma más sencilla de implementar la actualización de la interfaz de usuario multiproceso 
                        runOnUiThread(new Runnable() { 
                            public void run() { 
                                Toast.makeText(SeekBarsActivity.this, "Descarga completa " ,3000).show(); 
                            } 
                        }); 
                    } 
                } 
            } 
        }).start(); 
    } 
    //finalizar descarga 
    public void doStop(View view){ 
        isRun=false; 
    }
copiar codigo

 

Nota: 
  1) Excepto ProgressBar, toda la interfaz de usuario debe operarse en el subproceso principal de la interfaz de usuario; de lo contrario, se informará un error.
  2) Las operaciones que consumen mucho tiempo no se pueden realizar en el hilo principal, de lo contrario se informará un error.
  
  3) Los ingenieros de Google han hecho que Android 4.0 y versiones posteriores no admitan los dos puntos anteriores, por lo que algunas personas se verán enredadas. una versión baja necesita Cómo hacer ~ ~ piensa por ti mismo, ¡una pregunta muy simple!

 

 

   

  

  5. Cuadros de imagen y selección múltiple de selección única

    1) botón de imagen: botón de imagen

    2) imageView: vista de imagen

            ImageView en comparación con HTML5:

            imageView: funciona con mayor fluidez y se puede utilizar sin una red. .

            HTML5: el tiempo de ejecución no es lo suficientemente fluido y será inútil sin Internet... Pero la ventaja es que la página es más hermosa y la transmisión de datos es más conveniente. .

 

    3) RadioButton: botón de radio, cada elemento es mutuamente excluyente, solo se puede seleccionar uno, como el género

    4) Casilla de verificación: botón de opción múltiple, puede elegir múltiples, como pasatiempos

    5) ToggleButton: un solo botón de aviso, como un interruptor

copiar codigo
<RadioGroup android:id="@+id/rgsex" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal"> 
        <RadioButton 
            android:id="@+id/sexOne" 
            android: layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="男" 
            android:checked="true" 
            /> 
        <RadioButton 
            android:id="@+id/sexTwo" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="女" 
            /> 
    </RadioGroup>
    <LinearLayout android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal"> 
        <CheckBox 
            android:id="@+id/cb1" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content " 
            android:text="篮球" 
            /> 
        <CheckBox 
            android:id="@+id/cb2" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="fútbol" 
            /> 
        <CheckBox 
            android:id="@+id/cb3"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="羽毛球" 
            /> 
    </LinearLayout> 

    <ToggleButton 
        android:id="@+id/stateButton" 
        android:layout_width="wrap_content" 
        android:layout_height ="wrap_content" 
        android:textOn="开灯" 
        android:textOff="关灯" 
        android:checked="true" 
        /> 
    <ImageButton 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:src="@dibujable/imagen001" 
        android:scaleType="fitXY"
        android:maxWidth="120dp" maxWidth="120dp" 
        android:maxHeight="60dp"
        android:adjustViewBounds="true" 
        android:onClick="getValues" 
        />
copiar codigo

 

   El efecto es el siguiente:

 

 

  pd: La imagen está codificada porque no puedo encontrar una imagen adecuada y no quiero anunciarme a otros y no tengo dinero...

  

 

   Lo siguiente también es para aclarar sus efectos y diferencias:

 

copiar codigo
grupo de radio privado rg; 
    casilla de verificación privada cb1, cb2, cb3;    
    @Override 
    protected void onCreate(Paquete de estado de instancia guardado) { 
        super.onCreate(estado de instancia guardado); 
        setContentView(R.layout.actividad_botones); 

        cb1=(CheckBox)findViewById(R.id.cb1); 
        cb2=(CheckBox)findViewById(R.id.cb2); 
        cb3=(CheckBox)findViewById(R.id.cb3); 
        rg=(RadioGroup)findViewById(R.id.rgsex); 
        //监听单选按钮组事件
        rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {     
            @Override 
            public void onCheckedChanged(RadioGroup group, intcheckedId) { 
                RadioButton rb=(RadioButton)findViewById(checkedId);
                Toast.makeText(ButtonsActivity.this, "Has elegido:"+rb.getText().toString(), 3000).show(); } }); } 
            // 
        Valor 
    [ 

    botón de radio | casilla de verificación] 
    public void getValues( Ver vista){ 
        //botón de opción 
        RadioButton rb=(RadioButton)findViewById(rg.getCheckedRadioButtonId()); 
        StringBuffer sb=new StringBuffer(); 
        sb.append("Gender:"+rb.getText() .toString()+ "\n"); 

        // casilla de verificación 
        sb.append("Hobby:"); 
        if(cb1.isChecked()) 
            sb.append(cb1.getText().toString()+", ");  
        if(cb2.isChecked())
            sb.append( cb2.getText().toString()+","); 
        if(cb3.isChecked()) 
            sb.agregar(cb3.getText().toString()+",");
        Toast.makeText(esto, sb.toString(), 5000).show(); 
    }
copiar codigo

  

  PD: los ingenieros de Google lo empaquetaron para nosotros y podemos usarlo directamente. También podemos escribir un marco de bajo nivel para implementar estos botones. Creo que ya ha escrito la implementación de estos botones cuando está aprendiendo Java. De hecho, el código subyacente encapsulado por los ingenieros de Google también se implementa de esa manera. Solo digo ~ ¿quién es tan aburrido? ¡Los confeccionados no lo necesitan! Pero si desarrollas el marco de trabajo de Android en el futuro... debes escribirlo tú mismo~ Después de que se actualicen los conocimientos básicos... implicará contenido más avanzado jajajaja... ¡todavía no está listo!

 

2. Resumen

  1. De hecho, hay muchos de uso común y algunos que no son de uso común. De todos modos, espero que todos puedan desarrollar el hábito del autoaprendizaje... ¡especialmente en la empresa!

  2. El desarrollo del marco de trabajo de Android es simplemente conocimiento de Java, por lo que no tiene nada que ver con el desarrollo de Android, ¡pero también requiere una gran comprensión de Android!

  3. Se puede anidar en las páginas de Android, ¡pero es necesario distinguir la diferencia entre HTML5 y la paleta de Android!

  4. La diferencia entre TextView y EditView es realmente muy grande...

  5. La paleta es realmente significativa solo cuando se usa junto con los eventos correspondientes y la lógica comercial, como la transmisión de datos ~~ Lo explicaré en detalle en cursos futuros.

 

Supongo que te gusta

Origin blog.csdn.net/qq_33505204/article/details/78451830
Recomendado
Clasificación