- Forum-Beiträge: 609
21.02.2021, 21:32:28 via Website
21.02.2021 21:32:28 via Website
Hallo zusammen
Ich möchte nach langer Zeit mal wieder an einer App weiter arbeiten. Aber ich kann die App in der Entwicklungsumgebung nicht mehr starten. Das linken wird mit der Fehlermeldung quitiert.
/home/renato/.gradle/caches/transforms-2/files-2.1/65bf90c48b89b41813cde0a04f1b73cc/appcompat-v7-28.0.0/res/values-v28/values-v28.xml:5:5-8:13: AAPT: error: resource android:attr/dialogCornerRadius not found.
Ich suche nach dem "dialogCornerRadius". Aber der wird in meinem Projekt nicht verwendet.
Kann mir jemand weiter helfen, so dass ich mein Projekt wieder zum laufen kommt.
Main Activity:
package ch.robbisoft.kompass;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity implements SensorEventListener{
private SensorManager sensorManager;
private Sensor magnetfeldSensor;
private KompassnadelView view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
magnetfeldSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
view = new KompassnadelView(this);
setContentView(view);
}
public void onSensorChanged(SensorEvent event){
if(view != null){
view.setWinkel(-event.values[0]);
view.setWerty(event.values[1]);
view.setWertz(event.values[2]);
}
}
public void onAccuracyChanged(Sensor sensor, int accuracy){
}
@Override
protected void onResume() {
super.onResume();
sensorManager.registerListener((SensorEventListener) this, magnetfeldSensor, SensorManager.SENSOR_DELAY_GAME);
}
@Override
protected void onPause() {
sensorManager.unregisterListener(this);
super.onPause();
}
}
Main Layout;
<?xml version="1.0" encoding="utf-8"?>
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/lay_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" />
Anzeige Activity:
package ch.robbisoft.kompass;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.util.TypedValue;
import android.view.View;
public class KompassnadelView extends View {
private float winkel=0;
private float werty=0;
private float wertz=0;
private Paint zeichenfarbe = new Paint();
private Paint textPaint;
public float getWerty() {
return werty;
}
public void setWerty(float werty) {
this.werty = werty;
}
public float getWertz() {
return wertz;
}
public void setWertz(float wertz) {
this.wertz = wertz;
}
public float getWinkel() {
return winkel;
}
public void setWinkel(float winkel) {
this.winkel = winkel;
invalidate();
}
public KompassnadelView(Context context) {
super(context);
zeichenfarbe.setAntiAlias(true);
zeichenfarbe.setColor(Color.WHITE);
zeichenfarbe.setStyle(Paint.Style.FILL);
//Schreibfarbe
textPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG);
textPaint.setColor(Color.GREEN);
textPaint.setTextSize((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 20, getResources().getDisplayMetrics()));
textPaint.setTextAlign(Paint.Align.LEFT);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.BLACK);
int breite = canvas.getWidth();
int hoehe = canvas.getHeight();
// Den kleineren der beiden Werte
int laenge = Math.min(breite, hoehe);
Path pfad = new Path();
pfad.moveTo(0, -laenge/2);
pfad.lineTo(laenge/20, laenge/2);
pfad.lineTo(-laenge/20, laenge/2);
pfad.close();
canvas.translate(breite / 2, hoehe / 2);
canvas.rotate(winkel);
canvas.drawPath(pfad, zeichenfarbe);
//Text ausgeben
Paint.FontMetrics metric = textPaint.getFontMetrics();
int textHeight = (int) Math.ceil(metric.descent - metric.ascent);
int y = (int)(textHeight - metric.descent);
canvas.drawText(Float.toString(winkel), 0, y, textPaint);
canvas.drawText(Float.toString(werty), 0, y+100, textPaint);
canvas.drawText(Float.toString(wertz), 0, y+200, textPaint);
}
}
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.