Série de contrôles de l'interface utilisateur Android : ImageButton (bouton avec icône)

黄舟
Libérer: 2023-03-04 22:52:02
original
2230 Les gens l'ont consulté

En plus du bouton Button fourni avec le système Android, il fournit également un bouton avec une icône, ImageButton

Pour créer un bouton avec une icône, définissez d'abord l'ImageButton dans le fichier de mise en page, et puis définissez le bouton souhaité via l'icône de la méthode setImageDrawable affichée.

Remarque :

Nous pouvons définir l'icône du bouton directement dans le fichier de mise en page, tel que

android:src="@drawable/icon1″
Nous peut également définir une icône personnalisée dans le programme

imgbtn3.setImageDrawable(getResources().getDrawable(R.drawable.icon2));
Nous pouvons également utiliser la propre icône du système

imgbtn4 .setImageDrawable(getResources().getDrawable(android.R.drawable.sym_call_incoming));
Après avoir défini l'icône du bouton, vous devez définir l'écouteur setOnClickListener pour que le bouton capture l'événement et gère les éléments suivants

L'exemple décrit une disposition composée de quatre boutons d'icônes. Les icônes de trois boutons sont personnalisées et l'icône du quatrième bouton est système. Lorsque vous cliquez sur le bouton 1, une boîte de dialogue apparaît. après avoir cliqué sur OK, l'icône du bouton 2 peut être remplacée par l'icône du bouton 3. Lorsque vous cliquez sur le bouton 3, l'icône du bouton 3 se transforme en icône de l'appel téléphonique système. Un clic sur le bouton 4 affichera une boîte de dialogue d'invite
.
Code source ImageButtonTest.java

package org.loulijun.imagebutton;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;

public class ImageButtonTest extends Activity {
    /** Called when the activity is first created. */
        TextView textview;
        ImageButton imgbtn1;
        ImageButton imgbtn2;
        ImageButton imgbtn3;
        ImageButton imgbtn4;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        textview=(TextView)findViewById(R.id.textview);
        //分别取得4个ImageButton对象
        imgbtn1=(ImageButton)findViewById(R.id.imagebutton1);
        imgbtn2=(ImageButton)findViewById(R.id.imagebutton2);
        imgbtn3=(ImageButton)findViewById(R.id.imagebutton3);
        imgbtn4=(ImageButton)findViewById(R.id.imagebutton4);

        //分别为ImageButton设置图标
        //imgbtn1已经在main.xml布局中设置了图标,所以就不在这里设置了(设置图标即可在程序中设置,也可在布局文件中设置)
        imgbtn2.setImageDrawable(getResources().getDrawable(R.drawable.icon));//在程序中设置图标
        imgbtn3.setImageDrawable(getResources().getDrawable(R.drawable.icon2));
        imgbtn4.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_call_incoming));//设置系统图标

        //下面为各个按钮设置事件监听
        imgbtn1.setOnClickListener(new Button.OnClickListener()
        {
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
                                .setTitle("提示")
                                .setMessage("我是ImageButton1")
                                .setPositiveButton("确定",new DialogInterface.OnClickListener() {

                                        @Override
                                        public void onClick(DialogInterface dialog, int which) {
                                                // TODO Auto-generated method stub
                                                //相应的处理操作
                                        }
                                }).create();
                                dialog.show();
                        }

        });

        imgbtn2.setOnClickListener(new Button.OnClickListener()
        {
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
                                .setTitle("提示")
                                .setMessage("我是ImageButton2,我要使用ImageButton3的图标")
                                .setPositiveButton("确定",new DialogInterface.OnClickListener() {

                                        @Override
                                        public void onClick(DialogInterface dialog, int which) {
                                                // TODO Auto-generated method stub
                                                imgbtn2.setImageDrawable(getResources().getDrawable(R.drawable.icon2));
                                        }
                                }).create();
                                dialog.show();
                        }

        });

        imgbtn3.setOnClickListener(new Button.OnClickListener()
        {
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
                                .setTitle("提示")
                                .setMessage("我是ImageButton3,我想使用系统打电话的图标")
                                .setPositiveButton("确定",new DialogInterface.OnClickListener() {

                                        @Override
                                        public void onClick(DialogInterface dialog, int which) {
                                                // TODO Auto-generated method stub
                                                imgbtn3.setImageDrawable(getResources().getDrawable(android.R.drawable.sym_action_call));
                                        }
                                }).create();
                                dialog.show();
                        }

        });

        imgbtn4.setOnClickListener(new Button.OnClickListener()
        {
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                Dialog dialog=new AlertDialog.Builder(ImageButtonTest.this)
                                .setTitle("提示")
                                .setMessage("我是使用的系统图标")
                                .setPositiveButton("确定",new DialogInterface.OnClickListener() {

                                        @Override
                                        public void onClick(DialogInterface dialog, int which) {
                                                // TODO Auto-generated method stub
                                                //相应的处理操作
                                        }
                                }).create();
                                dialog.show();
                        }

        });
    }
}
Copier après la connexion

Fichier de mise en page main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
        android:id="@+id/textview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="ImageButton测试案例"
    />
<ImageButton
        android:id="@+id/imagebutton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon1"
/>
<ImageButton
        android:id="@+id/imagebutton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
/>
<ImageButton
        android:id="@+id/imagebutton3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
/>
<ImageButton
        android:id="@+id/imagebutton4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
/>
</LinearLayout>
Copier après la connexion

L'effet de course est le suivant :

Série de contrôles de linterface utilisateur Android : ImageButton (bouton avec icône)

Après avoir cliqué sur le premier bouton

Série de contrôles de linterface utilisateur Android : ImageButton (bouton avec icône)

Après avoir cliqué sur OK, cliquez sur le deuxième bouton


Série de contrôles de linterface utilisateur Android : ImageButton (bouton avec icône)

Cliquez sur OK, et vous verrez que la programmation de l'icône du bouton deux est la même que celle de l'icône du bouton trois

Série de contrôles de linterface utilisateur Android : ImageButton (bouton avec icône)

Cliquez sur le bouton trois

Série de contrôles de linterface utilisateur Android : ImageButton (bouton avec icône)

Après avoir cliqué sur OK, j'ai constaté que l'icône du bouton trois s'est transformée en icône du système effectuant un appel

Série de contrôles de linterface utilisateur Android : ImageButton (bouton avec icône)

Cliquez sur le bouton quatre

Série de contrôles de linterface utilisateur Android : ImageButton (bouton avec icône)


Ce qui précède est le contenu de la série de contrôles de l'interface utilisateur Android : ImageButton (bouton avec icône pour plus d'informations). contenu, veuillez faire attention au site Web PHP chinois (www.php.cn ) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!