Android Studio Kotlin options menu neue Activity?

Liebe Community

Ich habe ein options menu in Android Studio (Kotlin) programmiert und versuche derzeit, dass ich mit einem Klick auf das jeweilige Item eine neue Aktivität starten kann. Jedoch findet bei mir das Programm die Settings Activity settings_screen.xml nicht. Folgend der Code in MainActivity.kt

// Ab hier Menu Settings screen

 override fun onOptionsItemSelected(item: MenuItem): Boolean {
     when(item.itemId) {
         R.id.optionsmenusettingsbutton -> {
             val intent = Intent(this, settings_screen::class.java)
             startActivity(intent)
         }

     }
     return super.onOptionsItemSelected(item)
 }

In der Zeile settings_screen::class.java wird "settings_screen" rot angezeigt. Ich habe den Code aus einem YouTube Tutorial und stelle mir nun folgende Fragen:

  • Was genau rufe ich mit this, settings_screen::class.java) auf? settings_screen ist eine xml File und eigentlich programmiere ich das Ganze in Kotlin.
  • Vorher habe ich eine einfache Toast Message geschrieben, was funktioniert hat. Wie sieht der Code nun jedoch aus, wenn ich verschiedene ids mit verschiedenen Klicks aufrufen möchte? Den Code untereinander zu duplizieren und die id zu ändern gibt mir einen Error bzw. stürzt alles ab.

Folgend der Code für die xml Datei settings_screen.xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">



    <EditTextPreference
        android:title="Privatsphäre"
        android:summary="Kontakte, Chat, Listen" />

    <EditTextPreference
        android:title="Sicherheit"
        android:summary="Zugriffsschutz, letzte Aktivitäten" />

    <EditTextPreference
        android:title="Datenschutz"
        android:summary="Daten herunterladen, Sicherhietsbedenken melden" />

    <EditTextPreference
        android:title="Töne Benachrichtigungen"
        android:summary="Klingelton, Vibrieren, Benachrichrichtigungslicht" />

    <EditTextPreference
        android:title="Chat"
        android:summary="Tastatur, Medien" />

    <EditTextPreference
        android:title="Fehlerbehebung"
        android:summary="Logging, Netzwerk, Workaraounds, Zurücksetzen" />

    <EditTextPreference
        android:title="Über uns"
        android:summary="Version, Software-Lizenzen, Datenschutzerklärung" />

    <EditTextPreference
        android:title="Abmelden"
        android:summary="Sie sind angemeldet. Jetzt abmelden?" />

</PreferenceScreen>

Danke für jede Hilfe und Erklärung!

Android Studio Kotlin options menu neue Activity?
Android App, Android Studio
0 Antworten
Android Studio: Margin für BottomNavigation-Item?

Hallo zusammen,

ich habe eine Frage bezüglich der BottomNavigationView. Auf StackOverflow habe ich seit über einer Woche keine Antwort erhalten, deshalb versuche ich es hier.

Ich benutze eine BottomNavigationView und möchte die Höhe animieren, damit es erweiterbar ist. Mein Problem ist, dass die Items vertikal zentriert bleiben. Aber ich möchte, dass es oben eine feste Margin von z.B. 5dp gibt. Wie ist es möglich, sie mit der Oberseite der Navigationsleiste nach oben zu bewegen?

So sieht es im Moment aus (Bildlink):

https://i.stack.imgur.com/a3bXC.gif

XML für ein Item (mit Text!) (im menu-Ordner):

<item
  android:id="@+id/testid1"
  android:icon="@drawable/ic_test1"
  android:title="@string/Overview"
  android:state_pressed="true"
/>

XML für Navbar:

<com.google.android.material.bottomnavigation.BottomNavigationView
  android:id="@+id/bottom_navigation"
  android:layout_width="match_parent"
  android:layout_height="56dp"
  android:layout_gravity="bottom"
  android:background="@color/white"
  app:elevation="0dp"
  app:itemIconSize="26dp"
  app:itemIconTint="@color/NavBarGrey"
  app:itemRippleColor="#B5F1F1F1"
  app:itemTextColor="@color/NavBarGrey"
  app:layout_constraintBottom_toBottomOf="parent"
  app:layout_constraintEnd_toEndOf="parent"
  app:layout_constraintHorizontal_bias="0.0"
  app:layout_constraintStart_toStartOf="parent"
  app:menu="@menu/bottom_nav_menu" />

Kotlin-Code für "ausklappen":

val anim = ValueAnimator.ofInt(
  convertDpToPixel(56.0).toInt(),
  convertDpToPixel(400.0).toInt())
anim.addUpdateListener { valueAnimator ->
  val
  val = valueAnimator.animatedValue as Int
  val layoutParams:
    ViewGroup.LayoutParams = bottom_navigation.getLayoutParams()
    layoutParams.height = val
    bottom_navigation.setLayoutParams(layoutParams)
}
anim.setInterpolator(OvershootInterpolator(1.0f))
anim.duration = 450
anim.start()

Das blaue Pluszeichen ist ein separates Element und kein Teil der NavBar. Deshalb kann ich das auch nach oben bewegen (siehe Bild!).

Beste Grüße und vielen Dank im Voraus!

Computer, Programmieren, Android, Android App, XML, Android Studio
1 Antwort

Meistgelesene Fragen zum Thema Android App