【问题标题】:how to make an image show when radio button is clicked单击单选按钮时如何显示图像
【发布时间】:2020-10-31 04:51:29
【问题描述】:

我知道这是一个简单的问题,但我是初学者,我有这个家庭作业 必须在单击单选按钮时显示图像,但他们没有教我们任何相关信息 因为冠状病毒,所以如果有人能告诉我该怎么做,我将不胜感激。

【问题讨论】:

  • 您正在开发什么编程语言/框架?到目前为止你尝试了什么?在此处添加一些代码。

标签: android-studio radio-button


【解决方案1】:

为了创建两个带有简单图像的单选按钮,并在选中其中一个单选按钮时控制图像的可见性,我将在java 中提供一些简单的步骤来构建它。

新建一个空活动项目后:

  1. 您可以从项目资源管理器中打开想要的文件,如下所示:

  2. 转到activity_main.xml这是布局文件,我将创建带有图像的线性布局,单选组包含两个单选按钮,我使用imageview android:src属性作为颜色(您可以将其更改为图像):

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:src="@color/colorPrimary"
        android:text="Hello World!"
        android:visibility="gone" />
    
    <RadioGroup
        android:id="@+id/radioGroup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:orientation="horizontal">
    
        <RadioButton
            android:id="@+id/radio_button_choice1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="choice-1" />
    
        <RadioButton
            android:id="@+id/radio_button_choice2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="choice-2" />
    
    </RadioGroup>
    
  3. 其次,我们需要转到名为MainActivity的java文件,这是一个java文件,我们将获取视图并在RadioGroup上创建一个监听器,我们将使用它来显示和隐藏图像(一些cmets帮助你理解java代码):

    package com.your.packagename.here;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.view.View;
    import android.widget.ImageView;
    import android.widget.RadioGroup;
    
    public class MainActivity extends AppCompatActivity {
    
    private ImageView image;
    private RadioGroup radioGroup;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        //intit views
        image = findViewById(R.id.imageView);
        radioGroup = findViewById(R.id.radioGroup);
    
        //create the listener for radio group
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                //check if the choice-1 is selected
                if (radioGroup.getCheckedRadioButtonId() == R.id.radio_button_choice1) {
                    //show image wen select choice-1
                    image.setVisibility(View.VISIBLE);
                } else {
                    //hide image when choice-1 not selected
                    image.setVisibility(View.GONE);
                }
            }
        });
    
    }
    }
    

最后,你会得到类似的结果。

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 2012-04-28
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 2021-02-17
    • 1970-01-01
    相关资源
    最近更新 更多