【问题标题】:ImageView Invisible/VisibleImageView 不可见/可见
【发布时间】:2014-04-04 02:05:28
【问题描述】:

我有这个 imageView,我想一开始是不可见的...... 然后当我单击一个按钮(calculateButton)时,imageView 将是可见的。

这是我的 ImageView:

<ImageView
     android:id="@+id/imageView1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignRight="@+id/resultLabel"
     android:layout_below="@+id/resultLabel"
     android:src="@drawable/image" />

这是我的calculateButton代码:

     public void calculateClickHandler(View view) {


    if (view.getId() == R.id.calculateButton) {

    EditText weightText = (EditText) findViewById(R.id.weightText);
    EditText heightText = (EditText)findViewById(R.id.heightText);
    TextView resultText = (TextView)findViewById(R.id.resultLabel);


    int weight = (int) Float.parseFloat(weightText.getText().toString());
    int height = (int) Float.parseFloat(heightText.getText().toString());
            int bmiValue = calculateBMI(weight, height);



 String bmiInterpretation = interpretBMI(bmiValue);

 resultText.setText("Your BMI is:" + " " + bmiValue  + " " +  bmiInterpretation); }

    }

  private int calculateBMI (int weight, int height) {

    return (int)  weight * 703 / (height * height) ;

        }
   private String interpretBMI(int bmiValue) {

            if (bmiValue <= 16.0 && bmiValue <= 18.5) {
                return "Underweight";   
            } else if (bmiValue > 18.5 && bmiValue <= 25 ){
                    return "Normal (Healthy)";
            } else if (bmiValue > 25 && bmiValue <= 30  ) {
                return "Overweight";
            } else {
                return "Obese"; }
            }

               }

【问题讨论】:

  • 然后使用imageview.setVisibility(View.VISIBLE);imageview.setVisibility(View.INVISIBLE);
  • 非常感谢您的帮助。

标签: android imageview visibility


【解决方案1】:

首先使图像视图不可见,然后在 onclick 内使其可见。

所以把这一行放在 XML 的图像视图中

android:visibility="invisible"

所以你的完整代码看起来像这样。

<ImageView
     android:id="@+id/imageView1"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignRight="@+id/resultLabel"
     android:layout_below="@+id/resultLabel"
     android:visibility="invisible"
     android:src="@drawable/image" />

然后让它在按钮点击事件中可见。

    imageview.setVisibility(View.visible);   

请记住,imageview 是您在 ImageView 上的对象。所以看起来像

 ImageView imageview =(ImageView) findViewById(R.id.imageView1);
 imageview.setVisibility(View.visible);

这样说吧。

public void calculateClickHandler(View view) {


    if (view.getId() == R.id.calculateButton) {

    EditText weightText = (EditText) findViewById(R.id.weightText);
    EditText heightText = (EditText)findViewById(R.id.heightText);
    TextView resultText = (TextView)findViewById(R.id.resultLabel);

ImageView imageview =(ImageView) findViewById(R.id.imageView1);
         imageview.setVisibility(View.visible);

         .......
         .......


if (bmiValue <= 16.0 && bmiValue <= 18.5){

imageview1.setVisibility(View.visible);
imageview2.setVisibility(View.invisible);
imageview3.setVisibility(View.invisible);
imageview4.setVisibility(View.invisible);

}else if (your second condition){
imageview1.setVisibility(View.invisible);
imageview2.setVisibility(View.visible);
imageview3.setVisibility(View.invisible);
imageview4.setVisibility(View.invisible);

}else if (your third condition){
imageview1.setVisibility(View.invisible);
imageview2.setVisibility(View.invisible);
imageview3.setVisibility(View.visible);
imageview4.setVisibility(View.invisible);

}else
{
imageview1.setVisibility(View.invisible);
imageview2.setVisibility(View.invisible);
imageview3.setVisibility(View.invisible);
imageview4.setVisibility(View.visible);
}

这里只需将您的图像视图替换为您的 ID 并尝试。希望这会对你有所帮助。

【讨论】:

  • 耶!有效!太感谢了!还有其他也提供帮助的人...谢谢谢谢...
  • 如果有帮助,请点击我的答案正下方接受答案。检查这个,meta.stackexchange.com/questions/5234/…
  • 是的,太好了。 @Deloy,快乐编码。
  • Hey Innocent,我还能让其他 imageView 弹出吗?例如,如果 (bmiValue
  • 我没有清楚地了解您的问题。你能更准确地说明你的要求吗?
【解决方案2】:

您可以设置可见性

android:visibility="invisible"

然后点击按钮

public void calculateClickHandler(View view) {

 ImageView iv =(ImageView) findViewById(R.id.imageView1);
 iv.setVisibility(View.VISIBLE);
}

http://developer.android.com/reference/android/view/View.html#attr_android:visibility

避免每次点击按钮时都初始化 imageview

ImageView iv;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_alarm_manager);
    iv =(ImageView) findViewById(R.id.imageView1);
}

【讨论】:

    【解决方案3】:

    OnCreate() 设置图像视图 INVISIBLE 喜欢imageview.setVisibility(View.INVISIBLE);

    按钮onClick() 可见就像imageview.setVisibility(View.VISIBLE);

    【讨论】:

      【解决方案4】:

      试试看

      imageview的可见性是不可见的......

      <ImageView
       android:id="@+id/imageView1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignRight="@+id/resultLabel"
       android:layout_below="@+id/resultLabel"
       android:src="@drawable/image"
       android:visibility="invisible" />
      

      在您的代码中..,在按钮上点击放置这一行

      imageview.setVisibility(View.visible);
      

      【讨论】:

        【解决方案5】:

        您可能应该在布局 XML 中将图像定义为不可见...android:visibility="invisible"

        您可以使用view.setVisibility(x); 修改视图的可见性,其中x 是View.INVISIBLEView.VISIBLEView.GONE。 将这段代码写在onCreate()方法中。

        Button calculateButton = (Button) findViewById(R.id.button1);
        calculateButton.setOnClickListener(new OnClickListener() {
        
            @Override
            public void onClick(View v) {
                ImageView imageView =(ImageView) findViewById(R.id.imageView1);
                imageView.setVisibility(View.VISIBLE);
        
            }
        });
        

        【讨论】:

          【解决方案6】:

          首先在 xml 中设置可见性消失

           android:visibility="gone"
          

          现在从 java 代码集可见性在 onclick 上可见..

           imageView.setVisibility(View.VISIBLE);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-01-26
            • 2018-03-27
            • 2013-05-01
            • 2021-10-15
            相关资源
            最近更新 更多