This commit is contained in:
ろむねこ 2023-12-07 13:44:02 +09:00
parent a0e5e77dcb
commit bf3a0c4fb8
No known key found for this signature in database
GPG Key ID: FA1F39A1BA37D168
9 changed files with 139 additions and 17 deletions

View File

@ -0,0 +1,64 @@
package one.nem.lacerta;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* A simple {@link Fragment} subclass.
* Use the {@link AppBlankFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class AppBlankFragment extends Fragment {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
public AppBlankFragment() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment AppBlankFragment.
*/
// TODO: Rename and change types and number of parameters
public static AppBlankFragment newInstance(String param1, String param2) {
AppBlankFragment fragment = new AppBlankFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.app_fragment_blank, container, false);
}
}

View File

@ -1,14 +1,32 @@
package one.nem.lacerta; package one.nem.lacerta;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentManager;
import androidx.navigation.NavController;
import androidx.navigation.fragment.NavHostFragment;
import androidx.navigation.ui.NavigationUI;
import android.os.Bundle; import android.os.Bundle;
import com.google.android.material.bottomnavigation.BottomNavigationView;
public class MainActivity extends AppCompatActivity { public class MainActivity extends AppCompatActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
// デバッグ
FragmentManager supportFragmentManager = getSupportFragmentManager();
NavHostFragment navHostFragment =
(NavHostFragment) supportFragmentManager.findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();
BottomNavigationView bottomNav = findViewById(R.id.nav_view);
NavigationUI.setupWithNavController(bottomNav, navController);
// デバッグ
} }
} }

View File

@ -8,21 +8,26 @@
<androidx.fragment.app.FragmentContainerView <androidx.fragment.app.FragmentContainerView
android:id="@+id/fragmentContainerView2" android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment" android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent" app:defaultNavHost="true"
app:layout_constraintBottom_toTopOf="@id/nav_view"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:defaultNavHost="true" app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/app_nav_graph" /> app:navGraph="@navigation/app_nav_graph" />
<com.google.android.material.bottomnavigation.BottomNavigationView <com.google.android.material.bottomnavigation.BottomNavigationView
android:layout_width="match_parent" android:id="@+id/nav_view"
android:layout_height="match_parent" > android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:menu="@menu/bottom_menu">
</com.google.android.material.bottomnavigation.BottomNavigationView> </com.google.android.material.bottomnavigation.BottomNavigationView>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".AppBlankFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello_blank_fragment" />
</FrameLayout>

View File

@ -2,7 +2,11 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item <item
android:id="@+id/homeTestUi" android:id="@id/ui_home_nav_graph"
android:title="HomeTestUi"/> android:title="HomeTestUi"/>
<item
android:id="@id/appBlankFragment"
android:title="app_fragment_blank"/>
</menu> </menu>

View File

@ -1,14 +1,23 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android" <navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/app_nav_graph" android:id="@+id/app_nav_graph"
app:startDestination="@id/placeholder"> app:startDestination="@id/appBlankFragment">
<include app:graph="@navigation/ui_home_nav_graph" /> <include app:graph="@navigation/ui_home_nav_graph" />
<fragment android:id="@+id/placeholder" > <fragment
android:id="@+id/homeTestUi2"
android:name="one.nem.ui.home.HomeTestUi"
android:label="HomeTestUi" />
<fragment
android:id="@+id/appBlankFragment"
android:name="one.nem.lacerta.AppBlankFragment"
android:label="app_fragment_blank"
tools:layout="@layout/app_fragment_blank" >
<action <action
android:id="@+id/action_placeholder_to_ui_home_nav_graph" android:id="@+id/action_appBlankFragment_to_homeTestUi22"
app:destination="@id/ui_home_nav_graph" /> app:destination="@id/homeTestUi2" />
</fragment> </fragment>

View File

@ -1,3 +1,5 @@
<resources> <resources>
<string name="app_name">Lacerta</string> <string name="app_name">Lacerta</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
</resources> </resources>

View File

@ -3,7 +3,7 @@ plugins {
} }
android { android {
namespace 'one.nem.lacerta.ui.home' namespace 'one.nem.ui.home'
compileSdk 33 compileSdk 33
defaultConfig { defaultConfig {

View File

@ -11,4 +11,10 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@string/hello_blank_fragment" /> android:text="@string/hello_blank_fragment" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</FrameLayout> </FrameLayout>