beautify
This commit is contained in:
parent
10e761f2e7
commit
ae2d325340
|
@ -344,6 +344,7 @@ class MainActivity : FCLActivity(), OnSelectListener, View.OnClickListener {
|
|||
accountHint.text = getString(R.string.account_state_add)
|
||||
avatar.setBackgroundDrawable(
|
||||
BitmapDrawable(
|
||||
resources,
|
||||
TexturesLoader.toAvatar(
|
||||
TexturesLoader.getDefaultSkin(TextureModel.ALEX).image,
|
||||
ConvertUtils.dip2px(
|
||||
|
@ -473,7 +474,7 @@ class MainActivity : FCLActivity(), OnSelectListener, View.OnClickListener {
|
|||
bind.apply {
|
||||
val speed = ThemeEngine.getInstance().getTheme().animationSpeed
|
||||
AnimUtil.playTranslationX(
|
||||
listOf(leftMenu, splitLeft),
|
||||
listOf(leftMenu),
|
||||
speed * 100L,
|
||||
-100f,
|
||||
0f
|
||||
|
|
|
@ -61,6 +61,7 @@ public class ProfileListAdapter extends FCLAdapter {
|
|||
viewHolder.parent.setBackground(profile == Profiles.getSelectedProfile() ? getContext().getDrawable(R.drawable.bg_container_transparent_selected) : getContext().getDrawable(R.drawable.bg_container_transparent_clickable));
|
||||
viewHolder.name.setText(profile.getName());
|
||||
viewHolder.path.setText(profile.getGameDir().getAbsolutePath());
|
||||
viewHolder.path.setSelected(true);
|
||||
viewHolder.parent.setOnClickListener(view1 -> {
|
||||
Profiles.setSelectedProfile(profile);
|
||||
notifyDataSetChanged();
|
||||
|
|
|
@ -1,305 +1,310 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout>
|
||||
|
||||
<androidx.constraintlayout.widget.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/background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/background"
|
||||
tools:context=".activity.MainActivity">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/left_menu"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingStart="5dp"
|
||||
android:paddingEnd="5dp"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingBottom="10dp"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
android:paddingStart="5dp"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingEnd="5dp"
|
||||
android:paddingBottom="10dp"
|
||||
app:layout_constraintStart_toStartOf="parent">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLMenuView
|
||||
android:id="@+id/home"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/manage"
|
||||
android:src="@drawable/ic_baseline_home_24"
|
||||
android:id="@+id/home"/>
|
||||
app:layout_constraintBottom_toTopOf="@id/manage"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLMenuView
|
||||
android:layout_marginTop="10dp"
|
||||
android:id="@+id/manage"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/home"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/download"
|
||||
android:layout_marginTop="10dp"
|
||||
android:src="@drawable/ic_baseline_build_24"
|
||||
android:id="@+id/manage"/>
|
||||
app:layout_constraintBottom_toTopOf="@id/download"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/home" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLMenuView
|
||||
android:layout_marginTop="10dp"
|
||||
android:id="@+id/download"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/manage"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/controller"
|
||||
android:layout_marginTop="10dp"
|
||||
android:src="@drawable/ic_baseline_cloud_download_24"
|
||||
android:id="@+id/download"/>
|
||||
app:layout_constraintBottom_toTopOf="@id/controller"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/manage" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLMenuView
|
||||
android:layout_marginTop="10dp"
|
||||
android:id="@+id/controller"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/download"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/multiplayer"
|
||||
android:layout_marginTop="10dp"
|
||||
android:src="@drawable/ic_baseline_videogame_asset_24"
|
||||
android:id="@+id/controller"/>
|
||||
app:layout_constraintBottom_toTopOf="@id/multiplayer"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/download" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLMenuView
|
||||
android:visibility="gone"
|
||||
android:layout_marginTop="10dp"
|
||||
android:id="@+id/multiplayer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/controller"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/setting"
|
||||
android:layout_marginTop="10dp"
|
||||
android:src="@drawable/ic_baseline_wifi_24"
|
||||
android:id="@+id/multiplayer"/>
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/setting"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/controller" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLMenuView
|
||||
android:layout_marginTop="10dp"
|
||||
android:id="@+id/setting"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/multiplayer"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/back"
|
||||
android:layout_marginTop="10dp"
|
||||
android:src="@drawable/ic_baseline_settings_24"
|
||||
android:id="@+id/setting"/>
|
||||
app:layout_constraintBottom_toTopOf="@id/back"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/multiplayer" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLMenuView
|
||||
android:layout_marginTop="10dp"
|
||||
android:id="@+id/back"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/setting"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:layout_marginTop="10dp"
|
||||
android:src="@drawable/ic_baseline_arrow_back_24"
|
||||
android:id="@+id/back"/>
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/setting" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<View
|
||||
android:background="@android:color/darker_gray"
|
||||
android:id="@+id/split_left"
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintStart_toEndOf="@id/left_menu"/>
|
||||
|
||||
<View
|
||||
android:background="@android:color/darker_gray"
|
||||
<com.tungsten.fcllibrary.component.view.FCLView
|
||||
android:id="@+id/split_right"
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/right_menu"/>
|
||||
android:background="@android:color/darker_gray"
|
||||
app:layout_constraintEnd_toStartOf="@id/right_menu"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:background="@color/ui_bg_color"
|
||||
android:id="@+id/right_menu"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/ui_bg_color"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="1"
|
||||
app:layout_constraintWidth_percent="0.25">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:id="@+id/account_textview"
|
||||
android:singleLine="true"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:singleLine="true"
|
||||
android:text="@string/account"
|
||||
android:textSize="11sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<View
|
||||
<com.tungsten.fcllibrary.component.view.FCLView
|
||||
android:id="@+id/view"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:background="@android:color/darker_gray"
|
||||
app:layout_constraintTop_toBottomOf="@id/account_textview"/>
|
||||
app:layout_constraintTop_toBottomOf="@id/account_textview"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
android:id="@+id/account"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:padding="10dp"
|
||||
app:layout_constraintTop_toBottomOf="@+id/view"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:clickable="true"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
android:stateListAnimator="@xml/anim_scale">
|
||||
android:focusable="true"
|
||||
android:orientation="horizontal"
|
||||
android:padding="10dp"
|
||||
android:stateListAnimator="@xml/anim_scale"
|
||||
app:layout_constraintTop_toBottomOf="@+id/view">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageView
|
||||
android:id="@+id/avatar"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_gravity="center"
|
||||
android:id="@+id/avatar"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:stateListAnimator="@xml/anim_scale_large" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:singleLine="true"
|
||||
android:id="@+id/account_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/account_state_no_account"/>
|
||||
android:singleLine="true"
|
||||
android:text="@string/account_state_no_account"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:singleLine="true"
|
||||
android:id="@+id/account_hint"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:text="@string/account_state_add"
|
||||
android:textSize="11sp"/>
|
||||
android:textSize="11sp"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/ic_baseline_list_24"/>
|
||||
android:background="@drawable/ic_baseline_list_24"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:id="@+id/version_textview"
|
||||
android:singleLine="true"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:singleLine="true"
|
||||
android:text="@string/version"
|
||||
android:textSize="11sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/account"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<View
|
||||
<com.tungsten.fcllibrary.component.view.FCLView
|
||||
android:id="@+id/view2"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:background="@android:color/darker_gray"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/version_textview"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
android:id="@+id/version"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:orientation="horizontal"
|
||||
android:padding="10dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/view2"
|
||||
android:stateListAnimator="@xml/anim_scale"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:stateListAnimator="@xml/anim_scale">
|
||||
app:layout_constraintTop_toBottomOf="@id/view2">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_gravity="center"
|
||||
android:id="@+id/icon"/>
|
||||
android:layout_gravity="center" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:singleLine="true"
|
||||
android:id="@+id/version_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/version_no_version"/>
|
||||
android:singleLine="true"
|
||||
android:text="@string/version_no_version"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:singleLine="true"
|
||||
android:id="@+id/version_hint"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:text="@string/version_manage"
|
||||
android:textSize="11sp"/>
|
||||
android:textSize="11sp"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/ic_baseline_list_24"/>
|
||||
android:background="@drawable/ic_baseline_list_24"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLProgressBar
|
||||
android:layout_marginTop="10dp"
|
||||
android:id="@+id/version_progress"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:orientation="horizontal"
|
||||
android:padding="10dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/view2"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/view2" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLButton
|
||||
android:id="@+id/execute_jar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/jar_execute"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:layout_marginHorizontal="8dp"
|
||||
app:ripple="true"
|
||||
app:layout_constraintBottom_toTopOf="@id/launch"/>
|
||||
android:layout_marginBottom="10dp"
|
||||
android:text="@string/jar_execute"
|
||||
app:layout_constraintBottom_toTopOf="@id/launch"
|
||||
app:ripple="true" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLButton
|
||||
android:id="@+id/launch"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/launch"
|
||||
android:layout_marginHorizontal="8dp"
|
||||
app:ripple="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
android:text="@string/launch"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:ripple="true" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
@ -307,19 +312,19 @@
|
|||
android:id="@+id/ui_layout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/split_left"
|
||||
app:layout_constraintEnd_toStartOf="@id/split_right"/>
|
||||
app:layout_constraintEnd_toStartOf="@id/split_right"
|
||||
app:layout_constraintStart_toEndOf="@+id/left_menu" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLDynamicIsland
|
||||
android:stateListAnimator="@null"
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="15dp"
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
android:stateListAnimator="@null"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
app:layout_constraintHorizontal_bias="0.5"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</layout>
|
|
@ -1,54 +1,58 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:padding="10dp">
|
||||
android:padding="10dp"
|
||||
android:stateListAnimator="@xml/anim_scale"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/ic_baseline_server_24"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintVertical_bias="0.5"/>
|
||||
app:layout_constraintVertical_bias="0.5"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
app:layout_constraintStart_toEndOf="@id/icon"
|
||||
app:layout_constraintEnd_toStartOf="@+id/delete"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/delete"
|
||||
app:layout_constraintStart_toEndOf="@id/icon"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.5">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:id="@+id/name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:id="@+id/name"/>
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:textSize="11sp"
|
||||
android:id="@+id/url"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:id="@+id/url"/>
|
||||
android:textSize="11sp"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
|
@ -57,11 +61,12 @@
|
|||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:src="@drawable/ic_baseline_close_24"
|
||||
app:no_padding="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintVertical_bias="0.5"/>
|
||||
app:layout_constraintVertical_bias="0.5"
|
||||
app:no_padding="true"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:padding="10dp">
|
||||
android:padding="10dp"
|
||||
android:stateListAnimator="@xml/anim_scale">
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="0dp"
|
||||
|
@ -29,6 +30,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
app:use_theme_color="true"
|
||||
android:id="@+id/name"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
|
@ -36,6 +38,12 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
app:use_theme_color="true"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:ellipsize="marquee"
|
||||
android:scrollHorizontally="true"
|
||||
android:marqueeRepeatLimit="marquee_forever"
|
||||
android:id="@+id/path"/>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
@ -46,10 +54,12 @@
|
|||
android:layout_height="20dp"
|
||||
android:src="@drawable/ic_baseline_close_24"
|
||||
app:no_padding="true"
|
||||
app:use_theme_color="true"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintVertical_bias="0.5"/>
|
||||
app:layout_constraintVertical_bias="0.5"
|
||||
android:stateListAnimator="@xml/anim_scale_large"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
|
|
@ -1,121 +1,131 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:background="@color/ui_bg_color"
|
||||
android:padding="10dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/ui_bg_color"
|
||||
android:padding="10dp">
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:orientation="vertical"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
app:layout_constraintWidth_percent="0.3"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
app:layout_constraintWidth_percent="0.3">
|
||||
|
||||
<TextView
|
||||
android:singleLine="true"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/account_create"
|
||||
android:textSize="11sp" />
|
||||
|
||||
<View
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:singleLine="true"
|
||||
android:text="@string/account_create"
|
||||
android:textSize="11sp"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:background="@android:color/darker_gray" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_marginTop="10dp"
|
||||
android:padding="10dp"
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
android:id="@+id/offline"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:orientation="horizontal"
|
||||
android:padding="10dp"
|
||||
android:stateListAnimator="@xml/anim_scale">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:layout_gravity="center"
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:background="@drawable/ic_baseline_person_add_24"/>
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/ic_baseline_person_add_24"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:singleLine="true"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/account_methods_offline"/>
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"
|
||||
android:singleLine="true"
|
||||
android:text="@string/account_methods_offline"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:padding="10dp"
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
android:id="@+id/microsoft"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:orientation="horizontal"
|
||||
android:padding="10dp"
|
||||
android:stateListAnimator="@xml/anim_scale">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:layout_gravity="center"
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:background="@drawable/ic_baseline_microsoft_24"/>
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/ic_baseline_microsoft_24"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:singleLine="true"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/account_methods_microsoft"/>
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"
|
||||
android:singleLine="true"
|
||||
android:text="@string/account_methods_microsoft"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<ListView
|
||||
android:id="@+id/server_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:divider="@android:color/transparent"
|
||||
android:dividerHeight="0dp"
|
||||
android:id="@+id/server_list"
|
||||
android:layout_weight="1"/>
|
||||
android:dividerHeight="0dp" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:padding="10dp"
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
android:id="@+id/add_login_server"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
android:background="@drawable/bg_container_transparent_clickable"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:orientation="horizontal"
|
||||
android:padding="10dp"
|
||||
android:stateListAnimator="@xml/anim_scale">
|
||||
|
||||
<ImageView
|
||||
android:layout_gravity="center"
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageView
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:background="@drawable/ic_baseline_add_24"/>
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/ic_baseline_add_24"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:singleLine="true"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/account_create_server"/>
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"
|
||||
android:singleLine="true"
|
||||
android:text="@string/account_create_server"
|
||||
app:use_theme_color="true" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
|
@ -123,13 +133,13 @@
|
|||
|
||||
<ListView
|
||||
android:id="@+id/list"
|
||||
android:divider="@android:color/transparent"
|
||||
android:dividerHeight="0dp"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:divider="@android:color/transparent"
|
||||
android:dividerHeight="0dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="1"
|
||||
app:layout_constraintWidth_percent="0.7"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
app:layout_constraintWidth_percent="0.7" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -1,5 +1,6 @@
|
|||
plugins {
|
||||
id 'com.android.library'
|
||||
id 'org.jetbrains.kotlin.android' version '1.9.20'
|
||||
}
|
||||
|
||||
android {
|
||||
|
@ -29,6 +30,9 @@ android {
|
|||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
kotlinOptions {
|
||||
jvmTarget = "1.8"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
|
|
@ -27,6 +27,7 @@ public class FCLImageButton extends AppCompatImageButton {
|
|||
private ObjectProperty<Drawable> image;
|
||||
private boolean autoTint;
|
||||
private boolean noPadding;
|
||||
private boolean useThemeColor;
|
||||
private BooleanProperty visibilityProperty;
|
||||
private BooleanProperty disableProperty;
|
||||
|
||||
|
@ -64,6 +65,9 @@ public class FCLImageButton extends AppCompatImageButton {
|
|||
if (autoTint) {
|
||||
setImageTintList(new ColorStateList(state, colorSrc));
|
||||
}
|
||||
if (useThemeColor && getDrawable() != null) {
|
||||
getDrawable().setTint(ThemeEngine.getInstance().getTheme().getColor());
|
||||
}
|
||||
RippleDrawable drawable = new RippleDrawable(new ColorStateList(state, colorRipple), null, null);
|
||||
drawable.setRadius(ConvertUtils.dip2px(getContext(), noPadding ? 12 : 20));
|
||||
setBackgroundDrawable(drawable);
|
||||
|
@ -94,6 +98,7 @@ public class FCLImageButton extends AppCompatImageButton {
|
|||
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.FCLImageButton);
|
||||
autoTint = typedArray.getBoolean(R.styleable.FCLImageButton_auto_tint, false);
|
||||
noPadding = typedArray.getBoolean(R.styleable.FCLImageButton_no_padding, false);
|
||||
useThemeColor = typedArray.getBoolean(R.styleable.FCLImageButton_use_theme_color, false);
|
||||
typedArray.recycle();
|
||||
init();
|
||||
theme.bind(ThemeEngine.getInstance().getTheme().colorProperty());
|
||||
|
@ -104,6 +109,7 @@ public class FCLImageButton extends AppCompatImageButton {
|
|||
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.FCLImageButton);
|
||||
autoTint = typedArray.getBoolean(R.styleable.FCLImageButton_auto_tint, false);
|
||||
noPadding = typedArray.getBoolean(R.styleable.FCLImageButton_no_padding, false);
|
||||
useThemeColor = typedArray.getBoolean(R.styleable.FCLImageButton_use_theme_color, false);
|
||||
typedArray.recycle();
|
||||
init();
|
||||
theme.bind(ThemeEngine.getInstance().getTheme().colorProperty());
|
||||
|
@ -127,6 +133,15 @@ public class FCLImageButton extends AppCompatImageButton {
|
|||
return noPadding;
|
||||
}
|
||||
|
||||
public void setUseThemeColor(boolean useThemeColor) {
|
||||
this.useThemeColor = useThemeColor;
|
||||
refreshStyle();
|
||||
}
|
||||
|
||||
public boolean isUseThemeColor() {
|
||||
return useThemeColor;
|
||||
}
|
||||
|
||||
public final void setImage(Drawable drawable) {
|
||||
imageProperty().set(drawable);
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ public class FCLImageView extends AppCompatImageView {
|
|||
|
||||
private ObjectProperty<Drawable> image;
|
||||
private boolean autoTint;
|
||||
private boolean useThemeColor;
|
||||
private BooleanProperty visibilityProperty;
|
||||
|
||||
private final IntegerProperty theme = new IntegerPropertyBase() {
|
||||
|
@ -42,6 +43,9 @@ public class FCLImageView extends AppCompatImageView {
|
|||
};
|
||||
setImageTintList(new ColorStateList(state, color));
|
||||
}
|
||||
if (useThemeColor && getBackground() != null) {
|
||||
getBackground().setTint(ThemeEngine.getInstance().getTheme().getColor());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -64,6 +68,7 @@ public class FCLImageView extends AppCompatImageView {
|
|||
super(context, attrs);
|
||||
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.FCLImageView);
|
||||
autoTint = typedArray.getBoolean(R.styleable.FCLImageView_auto_src_tint, false);
|
||||
useThemeColor = typedArray.getBoolean(R.styleable.FCLImageView_use_theme_color, false);
|
||||
typedArray.recycle();
|
||||
theme.bind(ThemeEngine.getInstance().getTheme().colorProperty());
|
||||
}
|
||||
|
@ -72,6 +77,7 @@ public class FCLImageView extends AppCompatImageView {
|
|||
super(context, attrs, defStyleAttr);
|
||||
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.FCLImageView);
|
||||
autoTint = typedArray.getBoolean(R.styleable.FCLImageView_auto_src_tint, false);
|
||||
useThemeColor = typedArray.getBoolean(R.styleable.FCLImageView_use_theme_color, false);
|
||||
typedArray.recycle();
|
||||
theme.bind(ThemeEngine.getInstance().getTheme().colorProperty());
|
||||
}
|
||||
|
@ -84,6 +90,14 @@ public class FCLImageView extends AppCompatImageView {
|
|||
return autoTint;
|
||||
}
|
||||
|
||||
public void setUseThemeColor(boolean useThemeColor) {
|
||||
this.useThemeColor = useThemeColor;
|
||||
}
|
||||
|
||||
public boolean isUseThemeColor() {
|
||||
return useThemeColor;
|
||||
}
|
||||
|
||||
public final void setImage(Drawable drawable) {
|
||||
imageProperty().set(drawable);
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ public class FCLTextView extends AppCompatTextView {
|
|||
|
||||
private boolean autoTint;
|
||||
private boolean autoBackgroundTint;
|
||||
private boolean useThemeColor;
|
||||
private StringProperty string;
|
||||
private BooleanProperty visibilityProperty;
|
||||
|
||||
|
@ -38,6 +39,9 @@ public class FCLTextView extends AppCompatTextView {
|
|||
if (autoBackgroundTint) {
|
||||
setBackgroundTintList(new ColorStateList(new int[][] { { } }, new int[]{ ThemeEngine.getInstance().getTheme().getColor() }));
|
||||
}
|
||||
if (useThemeColor) {
|
||||
setTextColor(ThemeEngine.getInstance().getTheme().getColor());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -63,6 +67,7 @@ public class FCLTextView extends AppCompatTextView {
|
|||
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.FCLTextView);
|
||||
autoTint = typedArray.getBoolean(R.styleable.FCLTextView_auto_text_tint, false);
|
||||
autoBackgroundTint = typedArray.getBoolean(R.styleable.FCLTextView_auto_text_background_tint, false);
|
||||
useThemeColor = typedArray.getBoolean(R.styleable.FCLTextView_use_theme_color, false);
|
||||
typedArray.recycle();
|
||||
theme.bind(ThemeEngine.getInstance().getTheme().colorProperty());
|
||||
}
|
||||
|
@ -72,6 +77,7 @@ public class FCLTextView extends AppCompatTextView {
|
|||
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.FCLTextView);
|
||||
autoTint = typedArray.getBoolean(R.styleable.FCLTextView_auto_text_tint, false);
|
||||
autoBackgroundTint = typedArray.getBoolean(R.styleable.FCLTextView_auto_text_background_tint, false);
|
||||
useThemeColor = typedArray.getBoolean(R.styleable.FCLTextView_use_theme_color, false);
|
||||
typedArray.recycle();
|
||||
theme.bind(ThemeEngine.getInstance().getTheme().colorProperty());
|
||||
}
|
||||
|
@ -96,6 +102,14 @@ public class FCLTextView extends AppCompatTextView {
|
|||
return autoTint;
|
||||
}
|
||||
|
||||
public void setUseThemeColor(boolean useThemeColor) {
|
||||
this.useThemeColor = useThemeColor;
|
||||
}
|
||||
|
||||
public boolean isUseThemeColor() {
|
||||
return useThemeColor;
|
||||
}
|
||||
|
||||
public void setAutoBackgroundTint(boolean autoBackgroundTint) {
|
||||
this.autoBackgroundTint = autoBackgroundTint;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
package com.tungsten.fcllibrary.component.view
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.View
|
||||
import com.tungsten.fclcore.fakefx.beans.property.IntegerProperty
|
||||
import com.tungsten.fclcore.fakefx.beans.property.IntegerPropertyBase
|
||||
import com.tungsten.fcllibrary.R
|
||||
import com.tungsten.fcllibrary.component.theme.ThemeEngine
|
||||
|
||||
class FCLView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : View(context, attrs, defStyleAttr) {
|
||||
var useThemeColor = false
|
||||
private val theme: IntegerProperty = object : IntegerPropertyBase() {
|
||||
override fun invalidated() {
|
||||
get()
|
||||
if (useThemeColor) {
|
||||
setBackgroundColor(ThemeEngine.getInstance().getTheme().color)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getBean(): Any {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun getName(): String {
|
||||
return "theme"
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
val typedArray = context.obtainStyledAttributes(attrs, R.styleable.FCLView)
|
||||
useThemeColor = typedArray.getBoolean(R.styleable.FCLView_use_theme_color, false)
|
||||
typedArray.recycle()
|
||||
theme.bind(ThemeEngine.getInstance().getTheme().colorProperty())
|
||||
}
|
||||
}
|
|
@ -1,5 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<attr name="use_theme_color" format="boolean"/>
|
||||
<declare-styleable name="FCLView">
|
||||
<attr name="use_theme_color"/>
|
||||
</declare-styleable>
|
||||
<declare-styleable name="FCLButton">
|
||||
<attr name="ripple" format="boolean"/>
|
||||
<attr name="shape" format="integer"/>
|
||||
|
@ -8,13 +12,16 @@
|
|||
<declare-styleable name="FCLImageButton">
|
||||
<attr name="auto_tint" format="boolean"/>
|
||||
<attr name="no_padding" format="boolean"/>
|
||||
<attr name="use_theme_color"/>
|
||||
</declare-styleable>
|
||||
<declare-styleable name="FCLImageView">
|
||||
<attr name="auto_src_tint" format="boolean"/>
|
||||
<attr name="use_theme_color"/>
|
||||
</declare-styleable>
|
||||
<declare-styleable name="FCLTextView">
|
||||
<attr name="auto_text_background_tint" format="boolean"/>
|
||||
<attr name="auto_text_tint" format="boolean"/>
|
||||
<attr name="use_theme_color"/>
|
||||
</declare-styleable>
|
||||
<declare-styleable name="FCLCheckedTextView">
|
||||
<attr name="auto_checked_text_background_tint" format="boolean"/>
|
||||
|
|
Loading…
Reference in New Issue