「Android/Fragment」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「MainActivity.java <pre> import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.kaji.fragmentmyapplication.ui.main.MainFragment; public cl...」) |
|||
行1: | 行1: | ||
+ | ==Fragmentサンプル== | ||
+ | |||
MainActivity.java | MainActivity.java | ||
<pre> | <pre> | ||
行101: | 行103: | ||
</android.support.constraint.ConstraintLayout> | </android.support.constraint.ConstraintLayout> | ||
+ | </pre> | ||
+ | |||
+ | res/values/styles.xml | ||
+ | <pre> | ||
+ | <resources> | ||
+ | |||
+ | <!-- Base application theme. --> | ||
+ | <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> | ||
+ | <!-- Customize your theme here. --> | ||
+ | <item name="colorPrimary">@color/colorPrimary</item> | ||
+ | <item name="colorPrimaryDark">@color/colorPrimaryDark</item> | ||
+ | <item name="colorAccent">@color/colorAccent</item> | ||
+ | </style> | ||
+ | |||
+ | </resources> | ||
</pre> | </pre> |
2018年12月27日 (木) 15:17時点における版
Fragmentサンプル
MainActivity.java
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.kaji.fragmentmyapplication.ui.main.MainFragment; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .replace(R.id.container, MainFragment.newInstance()) .commitNow(); } } }
ui/main/MainFragment.java
import android.arch.lifecycle.ViewModelProviders; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.kaji.fragmentmyapplication.R; public class MainFragment extends Fragment { private MainViewModel mViewModel; public static MainFragment newInstance() { return new MainFragment(); } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.main_fragment, container, false); } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); mViewModel = ViewModelProviders.of(this).get(MainViewModel.class); // TODO: Use the ViewModel } }
ui/main/MainViewModel.java
import android.arch.lifecycle.ViewModel; public class MainViewModel extends ViewModel { // TODO: Implement the ViewModel }
res/layout/main_activity.xml
<?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:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" />
res/layout/main_fragment.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.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:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.main.MainFragment"> <TextView android:id="@+id/message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="MainFragment" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout>
res/values/styles.xml
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> </resources>