package com.example.labsix; import android.graphics.Color; import android.os.Bundle; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.snackbar.Snackbar; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import android.util.Log; import android.util.TypedValue; import android.view.Gravity; import android.view.MenuInflater; import android.view.View; import android.view.Menu; import android.view.MenuItem; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.Toast; public class MainActivity extends AppCompatActivity { public static int MAIN_ACTIVITY_ID = 22346; public static int MAIN_ACTIVITY_TOOLBAR = 22347; public static int MAT_HELLO = 22350; public static int MAT_GEOFF = 22351; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); RelativeLayout vv = new RelativeLayout(this); vv.setId(MAIN_ACTIVITY_ID); vv.setLayoutParams(new ViewGroup.LayoutParams(getResources().getDisplayMetrics().widthPixels, getResources().getDisplayMetrics().heightPixels)); setContentView(vv); TypedValue tv = new TypedValue(); int actionBarHeight=40; if (this.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) { actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, getResources().getDisplayMetrics()); } Toolbar toolbar = new Toolbar(this); toolbar.setId(MAIN_ACTIVITY_TOOLBAR); ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, actionBarHeight); toolbar.setLayoutParams(layoutParams); toolbar.setBackgroundColor(ContextCompat.getColor(this, R.color.purple_200)); toolbar.setTitle(R.string.app_name+"!!!"); toolbar.setVisibility(View.VISIBLE); vv.addView(toolbar, 0); setSupportActionBar(toolbar); /* FloatingActionButton fab = findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); */ //RelativeLayout vv = findViewById(R.id.main_actv_rel); //Log.e("THISS", vv + " view"); { FloatingActionButton fab = new FloatingActionButton(this); fab.setImageResource(android.R.drawable.arrow_down_float); fab.show(); RelativeLayout.LayoutParams clp = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); clp.addRule(RelativeLayout.ALIGN_PARENT_TOP); clp.addRule(RelativeLayout.ALIGN_PARENT_END); float density= getResources().getDisplayMetrics().density; clp.setMargins(0,(int)(75*density),(int)(100*density), 0); vv.addView(fab, clp); } // Get the first fragment displayed FragmentManager fragmentManager = this.getSupportFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.replace(MAIN_ACTIVITY_ID, new RelativeFragment(), null); transaction.addToBackStack(null); transaction.commit(); int tt = fragmentManager.getBackStackEntryCount(); for(int i = 0; i < tt; ++i) { fragmentManager.popBackStack(); } } @Override public boolean onCreateOptionsMenu(Menu menu){ MenuItem edit_item = menu.add(0, MAT_HELLO, 1, "Hello"); edit_item.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER); MenuItem delete_item = menu.add(0, MAT_GEOFF, 2, "Geoff"); delete_item.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); Log.i("THISS", "Clicked on menu item " + id); //noinspection SimplifiableIfStatement if (id == MAT_HELLO) { Toast.makeText(this, "Hello, Hello, Hello", Toast.LENGTH_LONG).show(); return true; } if (id == MAT_GEOFF) { Toast.makeText(this, "Geoff Geoff Geoff Geoff", Toast.LENGTH_LONG).show(); return true; } return super.onOptionsItemSelected(item); } public void onBackPressed() { FragmentManager fragmentManager = this.getSupportFragmentManager(); int tt = fragmentManager.getBackStackEntryCount(); Log.i("THISs", "Back stack " + tt); if (tt>1) super.onBackPressed(); } }