Problème d'affichage de layout: android studio
J'ai des problèmes avec la disposition de mon chonomètre dans ma deuxième activité, je ne peux pas l'afficher. Dans ma deuxième activité, j'ai un .bmp que je peux afficher mais je ne peux pas afficher mon chronomètre. Pouvez-vous m'aider s'il vous plaît, merci.
Voici ma premier activité
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| package com.maze.maze;
import androidx.appcompat.app.AppCompatActivity;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Button;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Color;
import android.widget.ImageView;
import java.io.InputStream;
import java.io.IOException;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.BitmapDrawable;
public class MainActivity extends AppCompatActivity {
RadioGroup radiogroup;
Button button_val;
EditText e_prenom;
EditText e_nom;
private static final String SAVED_TEXT_KEY = "some_key";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button_val=findViewById(R.id.button_v);
radiogroup=findViewById(R.id.radiogroup);
e_prenom=findViewById(R.id.e_prenom);
e_nom=findViewById(R.id.e_nom);
button_val.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
int laby =0;
switch (radiogroup.getCheckedRadioButtonId())
{
case R.id.radio_1: laby=1; break;
case R.id.radio_2: laby=2; break;
case R.id.radio_3: laby=3; break;
case R.id.radio_4: laby=4; break;
case R.id.radio_5: laby=5; break;
}
Intent intent_laby= new Intent();
intent_laby.putExtra("num_labyrinth",laby);
Intent intent_nom= new Intent();
intent_nom.putExtra("nom", e_nom.getText() );
Intent intent_prenom= new Intent();
intent_prenom.putExtra("prenom", e_prenom.getText() );
startActivity(new Intent(MainActivity.this, Activity_labyrinth.class));
}
});
}
} |
Voici ma deuxième activité
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| import java.io.InputStream;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.content.res.Resources;
import android.util.Log;
import android.widget.Chronometer;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
public class Activity_labyrinth extends AppCompatActivity {
Labyrinthe labyrinthe;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
labyrinthe=new Labyrinthe(this);
Intent intent_lab = getIntent();
labyrinthe.num_lab=intent_lab.getIntExtra("num_labyrinth",1);
//Log.i("text","num"+labyrinthe.num_lab);
labyrinthe.init(this);
setContentView(labyrinthe);
}
} |
le fichier XML
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <?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:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="visible"
tools:context=".Activity_labyrinth"
tools:visibility="visible">
<Chronometer
android:id="@+id/chronometer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="1200dp"
android:layout_marginLeft="1200dp"
android:layout_marginTop="300dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="300dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> |
ma classe
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.content.res.AssetManager;
import androidx.annotation.RequiresApi;
import java.io.IOException;
import java.io.InputStream;
public class Labyrinthe extends View implements SensorEventListener {
Bitmap bitmap;
int num_lab;
InputStream l=null;
ImageView image;
public Labyrinthe(Context context) {
super(context);
image=findViewById(R.id.image);
}
void init(Context context){
AssetManager assetManager= context.getAssets();
try {
switch (num_lab){
case 1: l= assetManager.open("1.bmp"); break;
case 2: l= assetManager.open("2.bmp"); break;
case 3: l= assetManager.open("3.bmp"); break;
case 4: l= assetManager.open("4.bmp"); break;
case 5: l= assetManager.open("5.bmp"); break;
}
} catch (IOException e) {
e.printStackTrace();
}
Rect rectangle=new Rect();
BitmapFactory.Options opt=new BitmapFactory.Options();
bitmap= BitmapFactory.decodeStream(l,rectangle,opt);
}
@Override
protected void onDraw(Canvas canvas){
Rect screen=new Rect();
screen.set(50,50,canvas.getWidth()-400,canvas.getHeight()-70);
canvas.drawBitmap(bitmap ,null,screen,null);
super.onDraw(canvas);
}
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
// TODO Auto-generated method stub
}
@Override
public void onSensorChanged(SensorEvent sensor_event) {
// TODO Auto-generated method stubv
float acc_x = sensor_event.values[0];
float acc_y = sensor_event.values[1];
}
} |