From 1b12a92fbb388320316460486902dd648955a7f2 Mon Sep 17 00:00:00 2001 From: JG-Cody Date: Wed, 2 Jun 2021 21:12:07 +0200 Subject: [PATCH] added custom background option --- app/src/main/AndroidManifest.xml | 3 + .../de/jg_cody/Teraplex/MainActivity.java | 100 +++++++++++++++++- .../Teraplex/ui/Credits/CreditsFragment.java | 20 +++- .../Einstellungen/EinstellungenFragment.java | 28 +++++ .../Teraplex/ui/Flur/FlurFragment.java | 40 ++++--- .../Teraplex/ui/Konsole/KonsoleFragment.java | 19 ++++ .../ui/Schlafzimmer/SchlafzimmerFragment.java | 18 ++++ .../Teraplex/ui/home/HomeFragment.java | 20 +++- .../Teraplex/ui/kueche/KuecheFragment.java | 19 ++++ .../zeitsteuerung/ZeitsteuerungFragment.java | 19 ++++ .../res/layout/fragment_einstellungen.xml | 6 +- app/src/main/res/layout/fragment_flur.xml | 13 ++- app/src/main/res/layout/fragment_kueche.xml | 2 + app/src/main/res/layout/fragment_login.xml | 2 +- app/src/main/res/layout/fragment_main.xml | 12 --- .../main/res/layout/fragment_schlafzimmer.xml | 13 --- .../res/layout/fragment_zeitsteuerung.xml | 12 --- app/src/main/res/menu/main.xml | 1 + 18 files changed, 289 insertions(+), 58 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index dd9cbf7..317b647 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,6 +4,9 @@ + + + 0) { + bOut.write(buf, 0, len); + } + Background.close(); + SharedPreferences p = getSharedPreferences("appsettings", Context.MODE_PRIVATE); + p.edit().putString("Background", Base64.getEncoder().encodeToString(bOut.toByteArray())).apply(); + loadBackground(); + startActivity(getIntent()); + finish(); + + } catch (IOException e) { + e.printStackTrace(); + } + } + + } + @RequiresApi(api = Build.VERSION_CODES.O) + private void loadBackground() { + SharedPreferences p = getSharedPreferences("appsettings", Activity.MODE_PRIVATE); + String Background = p.getString("Background", null); + ImageView I = findViewById(R.id.Background); + byte[] BA = Base64.getDecoder().decode(Background); + I.setImageBitmap(BitmapFactory.decodeByteArray(BA, 0, BA.length)); + + } + public static int getScreenWidth() { + return Resources.getSystem().getDisplayMetrics().widthPixels; + } + + public static int getScreenHeight() { + return Resources.getSystem().getDisplayMetrics().heightPixels; + } + public static Bitmap scaleCenterCrop(Bitmap source, int newHeight, + int newWidth) { + int sourceWidth = source.getWidth(); + int sourceHeight = source.getHeight(); + + float xScale = (float) newWidth / sourceWidth; + float yScale = (float) newHeight / sourceHeight; + float scale = Math.max(xScale, yScale); + + // Now get the size of the source bitmap when scaled + float scaledWidth = scale * sourceWidth; + float scaledHeight = scale * sourceHeight; + + float left = (newWidth - scaledWidth) / 2; + float top = (newHeight - scaledHeight) / 2; + + RectF targetRect = new RectF(left, top, left + scaledWidth, top + + scaledHeight);//from ww w .j a va 2s. co m + + Bitmap dest = Bitmap.createBitmap(newWidth, newHeight, + source.getConfig()); + Canvas canvas = new Canvas(dest); + canvas.drawBitmap(source, null, targetRect, null); + + return dest; + } } diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsFragment.java index 8a64e2e..5671d4d 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsFragment.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Credits/CreditsFragment.java @@ -1,26 +1,44 @@ package de.jg_cody.Teraplex.ui.Credits; +import android.app.Activity; +import android.content.SharedPreferences; +import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; +import java.util.Base64; + +import de.jg_cody.Teraplex.MainActivity; import de.jg_cody.Teraplex.R; public class CreditsFragment extends Fragment { private CreditsViewModel creditsViewModel; + @RequiresApi(api = Build.VERSION_CODES.O) public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { creditsViewModel = new ViewModelProvider(this).get(CreditsViewModel.class); View root = inflater.inflate(R.layout.fragment_credits, container, false); - + SharedPreferences p = getContext().getSharedPreferences("appsettings", Activity.MODE_PRIVATE); + String Background = p.getString("Background", null); + if (Background != null) { + ImageView I = root.findViewById(R.id.Background); + byte[] BA = Base64.getDecoder().decode(Background); + I.setImageDrawable(new BitmapDrawable(getResources(), MainActivity.scaleCenterCrop(BitmapFactory.decodeByteArray(BA, 0, BA.length), MainActivity.getScreenHeight(), MainActivity.getScreenWidth()))); + I.setScaleType(ImageView.ScaleType.CENTER_CROP); + } return root; } } \ No newline at end of file diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenFragment.java index cf02354..9a54265 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenFragment.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenFragment.java @@ -1,25 +1,34 @@ package de.jg_cody.Teraplex.ui.Einstellungen; +import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; +import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Configuration; +import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; +import android.widget.ImageView; import android.widget.Toast; import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; import com.rarepebble.colorpicker.ColorPickerView; +import java.util.Base64; import java.util.Locale; +import de.jg_cody.Teraplex.MainActivity; import de.jg_cody.Teraplex.R; import static android.content.Context.MODE_PRIVATE; @@ -29,11 +38,20 @@ public class EinstellungenFragment extends Fragment { private EinstellungenViewModel einstellungenViewModel; Button button_colorpicker; + @RequiresApi(api = Build.VERSION_CODES.O) public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { einstellungenViewModel = new ViewModelProvider(this).get(EinstellungenViewModel.class); View root = inflater.inflate(R.layout.fragment_einstellungen, container, false); + SharedPreferences p = getContext().getSharedPreferences("appsettings", Activity.MODE_PRIVATE); + String Background = p.getString("Background", null); + if (Background != null) { + ImageView I = root.findViewById(R.id.Background); + byte[] BA = Base64.getDecoder().decode(Background); + I.setImageDrawable(new BitmapDrawable(getResources(), MainActivity.scaleCenterCrop(BitmapFactory.decodeByteArray(BA, 0, BA.length), MainActivity.getScreenHeight(), MainActivity.getScreenWidth()))); + I.setScaleType(ImageView.ScaleType.CENTER_CROP); + } button_colorpicker = (Button) root.findViewById(R.id.button_colorpicker); button_colorpicker.setOnClickListener(new View.OnClickListener() { @Override @@ -91,6 +109,16 @@ public class EinstellungenFragment extends Fragment { } }); + Button choose_background = root.findViewById(R.id.button_pickimage); + choose_background.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent i = new Intent( + Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); + getActivity().startActivityForResult(i, MainActivity.RESULT_LOAD_IMAGE); + + } + }); return root; diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Flur/FlurFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Flur/FlurFragment.java index 976bf71..678e892 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/Flur/FlurFragment.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Flur/FlurFragment.java @@ -1,22 +1,15 @@ package de.jg_cody.Teraplex.ui.Flur; +import android.app.Activity; +import android.content.Intent; +import android.content.SharedPreferences; +import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.fragment.app.Fragment; -import androidx.lifecycle.ViewModelProvider; - -import de.jg_cody.Teraplex.ActivityCricketers; -import de.jg_cody.Teraplex.Cricketer; -import de.jg_cody.Teraplex.R; - - -import androidx.appcompat.widget.AppCompatSpinner; - -import android.content.Intent; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; @@ -24,9 +17,21 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; +import androidx.appcompat.widget.AppCompatSpinner; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.ViewModelProvider; + import java.util.ArrayList; +import java.util.Base64; import java.util.List; +import de.jg_cody.Teraplex.ActivityCricketers; +import de.jg_cody.Teraplex.Cricketer; +import de.jg_cody.Teraplex.MainActivity; +import de.jg_cody.Teraplex.R; + public class FlurFragment extends Fragment implements View.OnClickListener { @@ -39,11 +44,20 @@ public class FlurFragment extends Fragment implements View.OnClickListener { List teamList = new ArrayList<>(); ArrayList cricketersList = new ArrayList<>(); + @RequiresApi(api = Build.VERSION_CODES.O) public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { flurViewModel = new ViewModelProvider(this).get(FlurViewModel.class); View root = inflater.inflate(R.layout.fragment_flur, container, false); + SharedPreferences p = getContext().getSharedPreferences("appsettings", Activity.MODE_PRIVATE); + String Background = p.getString("Background", null); + if (Background != null) { + ImageView I = root.findViewById(R.id.Background); + byte[] BA = Base64.getDecoder().decode(Background); + I.setImageDrawable(new BitmapDrawable(getResources(), MainActivity.scaleCenterCrop(BitmapFactory.decodeByteArray(BA, 0, BA.length), MainActivity.getScreenHeight(), MainActivity.getScreenWidth()))); + I.setScaleType(ImageView.ScaleType.CENTER_CROP); + } layoutList = root.findViewById(R.id.layout_list); buttonAdd = root.findViewById(R.id.button_add); diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Konsole/KonsoleFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Konsole/KonsoleFragment.java index 5f46608..9499587 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/Konsole/KonsoleFragment.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Konsole/KonsoleFragment.java @@ -1,19 +1,29 @@ package de.jg_cody.Teraplex.ui.Konsole; +import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; +import android.content.SharedPreferences; +import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; +import android.widget.ImageView; import android.widget.Toast; import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; +import java.util.Base64; + +import de.jg_cody.Teraplex.MainActivity; import de.jg_cody.Teraplex.R; import de.jg_cody.Teraplex.SSH_connection; @@ -32,11 +42,20 @@ public class KonsoleFragment extends Fragment { private KonsoleViewModel konsoleViewModel; + @RequiresApi(api = Build.VERSION_CODES.O) public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { konsoleViewModel = new ViewModelProvider(this).get(KonsoleViewModel.class); View root = inflater.inflate(R.layout.fragment_konsole, container, false); + SharedPreferences p = getContext().getSharedPreferences("appsettings", Activity.MODE_PRIVATE); + String Background = p.getString("Background", null); + if (Background != null) { + ImageView I = root.findViewById(R.id.Background); + byte[] BA = Base64.getDecoder().decode(Background); + I.setImageDrawable(new BitmapDrawable(getResources(), MainActivity.scaleCenterCrop(BitmapFactory.decodeByteArray(BA, 0, BA.length), MainActivity.getScreenHeight(), MainActivity.getScreenWidth()))); + I.setScaleType(ImageView.ScaleType.CENTER_CROP); + } befehlInput = (EditText) root.findViewById(R.id.befehlInput); SendCommandButton = (Button) root.findViewById(R.id.SendCommandButton); SendCommandButton.setOnClickListener(new View.OnClickListener() { diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Schlafzimmer/SchlafzimmerFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Schlafzimmer/SchlafzimmerFragment.java index a80d1f1..22f7b33 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/Schlafzimmer/SchlafzimmerFragment.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Schlafzimmer/SchlafzimmerFragment.java @@ -1,21 +1,30 @@ package de.jg_cody.Teraplex.ui.Schlafzimmer; +import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; +import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; +import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; import androidx.fragment.app.Fragment; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; +import java.util.Base64; + +import de.jg_cody.Teraplex.MainActivity; import de.jg_cody.Teraplex.R; import de.jg_cody.Teraplex.SSH_connection; @@ -32,6 +41,7 @@ public class SchlafzimmerFragment extends Fragment { private SchlafzimmerViewModel schlafzimmerViewModel; + @RequiresApi(api = Build.VERSION_CODES.O) public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { SharedPreferences prefs = getContext().getSharedPreferences("appsettings", Context.MODE_PRIVATE); @@ -42,6 +52,14 @@ public class SchlafzimmerFragment extends Fragment { schlafzimmerViewModel = new ViewModelProvider(this).get(SchlafzimmerViewModel.class); View root = inflater.inflate(R.layout.fragment_schlafzimmer, container, false); + SharedPreferences p = getContext().getSharedPreferences("appsettings", Activity.MODE_PRIVATE); + String Background = p.getString("Background", null); + if (Background != null) { + ImageView I = root.findViewById(R.id.Background); + byte[] BA = Base64.getDecoder().decode(Background); + I.setImageDrawable(new BitmapDrawable(getResources(), MainActivity.scaleCenterCrop(BitmapFactory.decodeByteArray(BA, 0, BA.length), MainActivity.getScreenHeight(), MainActivity.getScreenWidth()))); + I.setScaleType(ImageView.ScaleType.CENTER_CROP); + } final TextView textView = root.findViewById(R.id.text_schlafzimmer); schlafzimmerViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { @Override diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/home/HomeFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/home/HomeFragment.java index db2a177..3533a9a 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/home/HomeFragment.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/home/HomeFragment.java @@ -1,20 +1,29 @@ package de.jg_cody.Teraplex.ui.home; +import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; +import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; +import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; +import java.util.Base64; + +import de.jg_cody.Teraplex.MainActivity; import de.jg_cody.Teraplex.R; import de.jg_cody.Teraplex.SSH_connection; @@ -34,6 +43,7 @@ public class HomeFragment extends Fragment { private HomeViewModel homeViewModel; + @RequiresApi(api = Build.VERSION_CODES.O) public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { SharedPreferences prefs = getContext().getSharedPreferences("appsettings", Context.MODE_PRIVATE); @@ -44,12 +54,20 @@ public class HomeFragment extends Fragment { homeViewModel = new ViewModelProvider(this).get(HomeViewModel.class); View root = inflater.inflate(R.layout.fragment_home, container, false); + SharedPreferences p = getContext().getSharedPreferences("appsettings", Activity.MODE_PRIVATE); + String Background = p.getString("Background", null); + if (Background != null) { + ImageView I = root.findViewById(R.id.Background); + byte[] BA = Base64.getDecoder().decode(Background); + I.setImageDrawable(new BitmapDrawable(getResources(), MainActivity.scaleCenterCrop(BitmapFactory.decodeByteArray(BA, 0, BA.length), MainActivity.getScreenHeight(), MainActivity.getScreenWidth()))); + I.setScaleType(ImageView.ScaleType.CENTER_CROP); + } final TextView textView = root.findViewById(R.id.text_home); final TextView login_data = root.findViewById(R.id.login_data); if (user == null || ip == null) { login_data.setText(R.string.please_login); } else { - login_data.setText(getString(R.string.sie_sind_als_angemeldet).replace("{IP}", ip ).replace("{USERNAME}", user )); + login_data.setText(getString(R.string.sie_sind_als_angemeldet).replace("{IP}", ip).replace("{USERNAME}", user)); } userInput = (EditText) root.findViewById(R.id.loginuserInput); passwordInput = (EditText) root.findViewById(R.id.loginpasswordInput); diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/kueche/KuecheFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/kueche/KuecheFragment.java index 806f22c..12ebf57 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/kueche/KuecheFragment.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/kueche/KuecheFragment.java @@ -1,28 +1,47 @@ package de.jg_cody.Teraplex.ui.kueche; +import android.app.Activity; +import android.content.SharedPreferences; +import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; import androidx.fragment.app.Fragment; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; +import java.util.Base64; + +import de.jg_cody.Teraplex.MainActivity; import de.jg_cody.Teraplex.R; public class KuecheFragment extends Fragment { private KuecheViewModel kuecheViewModel; + @RequiresApi(api = Build.VERSION_CODES.O) public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { kuecheViewModel = new ViewModelProvider(this).get(KuecheViewModel.class); View root = inflater.inflate(R.layout.fragment_kueche, container, false); + SharedPreferences p = getContext().getSharedPreferences("appsettings", Activity.MODE_PRIVATE); + String Background = p.getString("Background", null); + if (Background != null) { + ImageView I = root.findViewById(R.id.Background); + byte[] BA = Base64.getDecoder().decode(Background); + I.setImageDrawable(new BitmapDrawable(getResources(), MainActivity.scaleCenterCrop(BitmapFactory.decodeByteArray(BA, 0, BA.length), MainActivity.getScreenHeight(), MainActivity.getScreenWidth()))); + I.setScaleType(ImageView.ScaleType.CENTER_CROP); + } final TextView textView = root.findViewById(R.id.text_kueche); kuecheViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { @Override diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/zeitsteuerung/ZeitsteuerungFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/zeitsteuerung/ZeitsteuerungFragment.java index a5ef2db..22d8938 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/ui/zeitsteuerung/ZeitsteuerungFragment.java +++ b/app/src/main/java/de/jg_cody/Teraplex/ui/zeitsteuerung/ZeitsteuerungFragment.java @@ -1,15 +1,25 @@ package de.jg_cody.Teraplex.ui.zeitsteuerung; +import android.app.Activity; +import android.content.SharedPreferences; +import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.TimePicker; import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; +import java.util.Base64; + +import de.jg_cody.Teraplex.MainActivity; import de.jg_cody.Teraplex.R; public class ZeitsteuerungFragment extends Fragment { @@ -17,11 +27,20 @@ public class ZeitsteuerungFragment extends Fragment { private ZeitsteuerungViewModel zeitsteuerungViewModel; TimePicker timePicker; + @RequiresApi(api = Build.VERSION_CODES.O) public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { zeitsteuerungViewModel = new ViewModelProvider(this).get(ZeitsteuerungViewModel.class); View root = inflater.inflate(R.layout.fragment_zeitsteuerung, container, false); + SharedPreferences p = getContext().getSharedPreferences("appsettings", Activity.MODE_PRIVATE); + String Background = p.getString("Background", null); + if (Background != null) { + ImageView I = root.findViewById(R.id.Background); + byte[] BA = Base64.getDecoder().decode(Background); + I.setImageDrawable(new BitmapDrawable(getResources(), MainActivity.scaleCenterCrop(BitmapFactory.decodeByteArray(BA, 0, BA.length), MainActivity.getScreenHeight(), MainActivity.getScreenWidth()))); + I.setScaleType(ImageView.ScaleType.CENTER_CROP); + } TimePicker timePicker = (TimePicker) root.findViewById(R.id.timePicker); timePicker.setIs24HourView(true); return root; diff --git a/app/src/main/res/layout/fragment_einstellungen.xml b/app/src/main/res/layout/fragment_einstellungen.xml index 9c2bde1..ac35f7f 100644 --- a/app/src/main/res/layout/fragment_einstellungen.xml +++ b/app/src/main/res/layout/fragment_einstellungen.xml @@ -15,7 +15,7 @@ android:src="@drawable/background" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="0.727" + app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.0" /> @@ -74,7 +74,7 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="@+id/Background" /> + app:layout_constraintTop_toTopOf="parent" />