Add basic fragment structure

Add the boilerplate fragment code.
This commit is contained in:
OxygenCobalt 2020-08-17 10:30:52 -06:00
parent 675f4af41b
commit 7c447e0296
9 changed files with 121 additions and 17 deletions

View file

@ -13,7 +13,9 @@ android {
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
buildFeatures {
dataBinding true
}
}
buildTypes {
@ -24,14 +26,46 @@ android {
}
}
configurations {
ktlint
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
// Kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
// Android Support
// Support
implementation 'androidx.core:core-ktx:1.3.1'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-rc1'
// Navigation
def navigationVersion = "2.3.0"
implementation "androidx.navigation:navigation-fragment-ktx:$navigationVersion"
implementation "androidx.navigation:navigation-ui-ktx:$navigationVersion"
// Lifecycle
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
// Lint
ktlint "com.pinterest:ktlint:0.37.2"
}
task ktlint(type: JavaExec, group: "verification") {
description = "Check Kotlin code style."
main = "com.pinterest.ktlint.Main"
classpath = configurations.ktlint
args "src/**/*.kt"
}
check.dependsOn ktlint
task ktlintFormat(type: JavaExec, group: "formatting") {
description = "Fix Kotlin code style deviations."
main = "com.pinterest.ktlint.Main"
classpath = configurations.ktlint
args "-F", "src/**/*.kt"
}

View file

@ -1,12 +1,15 @@
package org.oxycblt.auxio
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Log.d(this::class.simpleName, "Activity Created.")
}
}
}

View file

@ -0,0 +1,29 @@
package org.oxycblt.auxio.player
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.databinding.DataBindingUtil
import androidx.fragment.app.Fragment
import org.oxycblt.auxio.R
import org.oxycblt.auxio.databinding.FragmentPlayerBinding
class PlayerFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val binding = DataBindingUtil.inflate<FragmentPlayerBinding>(
inflater, R.layout.fragment_player, container, false
)
Log.d(this::class.simpleName, "Fragment created.")
return binding.root
}
}

View file

@ -1,10 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
<layout
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"
tools:context=".MainActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_main"
tools:ignore="FragmentTagUsage" />
</FrameLayout>
</layout>

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<navigation
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/nav_main"
app:startDestination="@id/playerFragment">
<fragment
android:id="@+id/playerFragment"
android:name="org.oxycblt.auxio.player.PlayerFragment"
android:label="PlayerFragment" />
</navigation>

View file

@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primaryColor">#0d5af5</color>
<color name="primaryLightColor">#6b86ff</color>
<color name="primaryDarkColor">#0032c1</color>
<color name="secondaryColor">#212121</color>
<color name="secondaryLightColor">#484848</color>
<color name="secondaryDarkColor">#000000</color>
<color name="primaryTextColor">#ffffff</color>
<color name="secondaryTextColor">#ffffff</color>
<color name="primaryColor">#0d5af5</color>
<color name="primaryLightColor">#6b86ff</color>
<color name="primaryDarkColor">#0032c1</color>
<color name="secondaryColor">#212121</color>
<color name="secondaryLightColor">#484848</color>
<color name="secondaryDarkColor">#000000</color>
<color name="primaryTextColor">#ffffff</color>
<color name="secondaryTextColor">#ffffff</color>
</resources>

View file

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Auxio</string>
</resources>

View file

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Base theme -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">