Hallo ich habe folgendes Problem: Im Android Emulator wird mir die ImageView nicht angezeigt, ich weiß leider nicht warum. Der xml Code ist folgender:
Mir wird alles angezeigt außer die ImageView. Ich dachte erst es läge an dem Layout und habe es daraufhin mit einem LinearLayout probiert, dann wurde mir jedoch nur noch die Seekbar angezeigt und nichts anderes mehr.
Hier auch noch der Java Code:
Ach ja falls es wichtig ist hier wie der xml Code für das LinearLayout aussah
XML:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/timerSeekBar"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:backgroundTint="#41000000"
tools:context=".MainActivity">
<SeekBar
android:id="@+id/seekBar"
android:layout_width="352dp"
android:layout_height="28dp"
android:layout_marginTop="40dp"
android:layout_marginEnd="28dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView"
android:layout_width="344dp"
android:layout_height="519dp"
android:layout_marginTop="120dp"
android:layout_marginEnd="28dp"
android:contentDescription="Egg"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:srcCompat="@drawable/egg" />
<TextView
android:id="@+id/TimerTextView"
android:layout_marginStart="108dp"
android:layout_marginBottom="280dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0:30"
android:textAlignment="center"
android:textSize="96sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
/>
<Button
android:id="@+id/button"
android:layout_width="193dp"
android:layout_height="57dp"
android:layout_marginEnd="108dp"
android:layout_marginBottom="48dp"
android:backgroundTint="@color/material_dynamic_neutral30"
android:onClick="controlTimer"
android:text="Start"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Mir wird alles angezeigt außer die ImageView. Ich dachte erst es läge an dem Layout und habe es daraufhin mit einem LinearLayout probiert, dann wurde mir jedoch nur noch die Seekbar angezeigt und nichts anderes mehr.
Hier auch noch der Java Code:
Java:
package com.example.eggclock;
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.TextView;
import java.util.Timer;
import java.util.Timer.*;
public class MainActivity extends AppCompatActivity {
SeekBar timerSeek;
TextView timedis;
Boolean counterIsActive = false;
Button button;
Timer time;
CountDownTimer countDownTimer;
public void updatetTimer(int secondsleft){
int minutes = (int) secondsleft / 60;
int secs = secondsleft - minutes*60;
String secondString = Integer.toString(secs);
if(secs < 10){
secondString = "0" + secs;
}
timedis.setText(minutes + ":" + secondString);
}
public void reset(){
timedis.setText("0:30");
timerSeek.setProgress(30);
countDownTimer.cancel();
button.setText("Start");
counterIsActive = false;
}
public void controlTimer(View v){
if(!counterIsActive) {
button.setText("Reset");
counterIsActive = true;
timerSeek.setEnabled(false);
countDownTimer = new CountDownTimer(timerSeek.getProgress() * 1000 + 100, 1000) {
@Override
public void onTick(long millisUntilFinished) {
updatetTimer((int) millisUntilFinished / 1000);
}
@Override
public void onFinish() {
timedis.setText("0:00");
MediaPlayer mplayer = MediaPlayer.create(getApplicationContext(), R.raw.airhorn);
mplayer.start();
timerSeek.setEnabled(true);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
reset();
}
}.start();
}
else{
reset();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timerSeek = findViewById(R.id.seekBar);
timedis = (TextView) findViewById(R.id.TimerTextView);
button = findViewById(R.id.button);
time = new Timer();
ImageView img = findViewById(R.id.imageView);
System.out.println(img.isShown());
timerSeek.setMax(600);
timerSeek.setProgress(30);
timerSeek.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
updatetTimer(progress);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
}
Ach ja falls es wichtig ist hier wie der xml Code für das LinearLayout aussah
XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<SeekBar
android:id="@+id/seekBar"
android:layout_width="352dp"
android:layout_height="28dp"
android:layout_marginTop="40dp"
android:layout_marginEnd="28dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView"
android:layout_width="344dp"
android:layout_height="519dp"
android:layout_marginTop="120dp"
android:layout_marginEnd="28dp"
android:contentDescription="Egg"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:srcCompat="@drawable/egg" />
<TextView
android:id="@+id/TimerTextView"
android:layout_marginStart="108dp"
android:layout_marginBottom="280dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0:30"
android:textAlignment="center"
android:textSize="96sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
/>
<Button
android:id="@+id/button"
android:layout_width="193dp"
android:layout_height="57dp"
android:layout_marginEnd="108dp"
android:layout_marginBottom="48dp"
android:backgroundTint="@color/material_dynamic_neutral30"
android:onClick="controlTimer"
android:text="Start"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</LinearLayout>
Zuletzt bearbeitet: