Refactor theming (#1529)
* fix toolbars * use toolbar in MainActivity * update AccountActivity appbar * update material design library * remove unneeded tabs styling * fix black theme
This commit is contained in:
parent
44bb1999af
commit
bee10bf375
|
@ -100,7 +100,7 @@ dependencies {
|
|||
implementation 'androidx.browser:browser:1.0.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.0.0'
|
||||
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
|
||||
implementation 'com.google.android.material:material:1.1.0-alpha10'
|
||||
implementation 'com.google.android.material:material:1.1.0-beta01'
|
||||
implementation 'androidx.exifinterface:exifinterface:1.0.0'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.preference:preference:1.1.0'
|
||||
|
|
|
@ -18,6 +18,7 @@ package com.keylesspalace.tusky
|
|||
import android.animation.ArgbEvaluator
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.res.ColorStateList
|
||||
import android.graphics.Color
|
||||
import android.graphics.PorterDuff
|
||||
import android.os.Bundle
|
||||
|
@ -40,6 +41,8 @@ import com.bumptech.glide.Glide
|
|||
import com.google.android.material.appbar.AppBarLayout
|
||||
import com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
import com.google.android.material.shape.MaterialShapeDrawable
|
||||
import com.google.android.material.shape.ShapeAppearanceModel
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.google.android.material.tabs.TabLayout
|
||||
import com.keylesspalace.tusky.adapter.AccountFieldAdapter
|
||||
|
@ -86,8 +89,6 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
|||
@ColorInt
|
||||
private var toolbarColor: Int = 0
|
||||
@ColorInt
|
||||
private var backgroundColor: Int = 0
|
||||
@ColorInt
|
||||
private var statusBarColorTransparent: Int = 0
|
||||
@ColorInt
|
||||
private var statusBarColorOpaque: Int = 0
|
||||
|
@ -107,6 +108,7 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
|||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
loadResources()
|
||||
makeNotificationBarTransparent()
|
||||
setContentView(R.layout.activity_account)
|
||||
|
||||
|
@ -119,7 +121,6 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
|||
animateAvatar = sharedPrefs.getBoolean("animateGifAvatars", false)
|
||||
hideFab = sharedPrefs.getBoolean("fabHide", false)
|
||||
|
||||
loadResources()
|
||||
setupToolbar()
|
||||
setupTabs()
|
||||
setupAccountViews()
|
||||
|
@ -135,8 +136,7 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
|||
* Load colors and dimensions from resources
|
||||
*/
|
||||
private fun loadResources() {
|
||||
toolbarColor = ThemeUtils.getColor(this, R.attr.toolbar_background_color)
|
||||
backgroundColor = ThemeUtils.getColor(this, android.R.attr.colorBackground)
|
||||
toolbarColor = ThemeUtils.getColor(this, R.attr.colorSurface)
|
||||
statusBarColorTransparent = ContextCompat.getColor(this, R.color.header_background_filter)
|
||||
statusBarColorOpaque = ThemeUtils.getColor(this, R.attr.colorPrimaryDark)
|
||||
avatarSize = resources.getDimension(R.dimen.account_activity_avatar_size)
|
||||
|
@ -211,9 +211,6 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
|||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Setup toolbar
|
||||
*/
|
||||
private fun setupToolbar() {
|
||||
// set toolbar top margin according to system window insets
|
||||
accountCoordinatorLayout.setOnApplyWindowInsetsListener { _, insets ->
|
||||
|
@ -236,6 +233,23 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
|||
ThemeUtils.setDrawableTint(this, accountToolbar.navigationIcon, R.attr.account_toolbar_icon_tint_uncollapsed)
|
||||
ThemeUtils.setDrawableTint(this, accountToolbar.overflowIcon, R.attr.account_toolbar_icon_tint_uncollapsed)
|
||||
|
||||
val appBarElevation = resources.getDimension(R.dimen.actionbar_elevation)
|
||||
|
||||
val toolbarBackground = MaterialShapeDrawable.createWithElevationOverlay(this, appBarElevation)
|
||||
toolbarBackground.fillColor = ColorStateList.valueOf(Color.TRANSPARENT)
|
||||
accountToolbar.background = toolbarBackground
|
||||
|
||||
accountHeaderInfoContainer.background = MaterialShapeDrawable.createWithElevationOverlay(this, appBarElevation)
|
||||
|
||||
val avatarBackground = MaterialShapeDrawable.createWithElevationOverlay(this, appBarElevation).apply {
|
||||
fillColor = ColorStateList.valueOf(toolbarColor)
|
||||
elevation = appBarElevation
|
||||
shapeAppearanceModel = ShapeAppearanceModel.builder()
|
||||
.setAllCornerSizes(resources.getDimension(R.dimen.account_avatar_background_radius))
|
||||
.build()
|
||||
}
|
||||
accountAvatarImageView.background = avatarBackground
|
||||
|
||||
// Add a listener to change the toolbar icon color when it enters/exits its collapsed state.
|
||||
accountAppBarLayout.addOnOffsetChangedListener(object : AppBarLayout.OnOffsetChangedListener {
|
||||
|
||||
|
@ -281,16 +295,14 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
|||
|
||||
accountAvatarImageView.visible(scaledAvatarSize > 0)
|
||||
|
||||
var transparencyPercent = abs(verticalOffset) / titleVisibleHeight.toFloat()
|
||||
if (transparencyPercent > 1) transparencyPercent = 1f
|
||||
val transparencyPercent = (abs(verticalOffset) / titleVisibleHeight.toFloat()).coerceAtMost(1f)
|
||||
|
||||
window.statusBarColor = argbEvaluator.evaluate(transparencyPercent, statusBarColorTransparent, statusBarColorOpaque) as Int
|
||||
|
||||
val evaluatedToolbarColor = argbEvaluator.evaluate(transparencyPercent, Color.TRANSPARENT, toolbarColor) as Int
|
||||
val evaluatedTabBarColor = argbEvaluator.evaluate(transparencyPercent, backgroundColor, toolbarColor) as Int
|
||||
accountToolbar.setBackgroundColor(evaluatedToolbarColor)
|
||||
accountHeaderInfoContainer.setBackgroundColor(evaluatedTabBarColor)
|
||||
accountTabLayout.setBackgroundColor(evaluatedTabBarColor)
|
||||
|
||||
toolbarBackground.fillColor = ColorStateList.valueOf(evaluatedToolbarColor)
|
||||
|
||||
swipeToRefreshLayout.isEnabled = verticalOffset == 0
|
||||
}
|
||||
})
|
||||
|
@ -300,7 +312,7 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidI
|
|||
private fun makeNotificationBarTransparent() {
|
||||
val decorView = window.decorView
|
||||
decorView.systemUiVisibility = decorView.systemUiVisibility or View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
window.statusBarColor = Color.TRANSPARENT
|
||||
window.statusBarColor = statusBarColorTransparent
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -24,7 +24,6 @@ import android.os.Handler;
|
|||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
@ -178,7 +177,6 @@ public final class MainActivity extends BottomSheetActivity implements ActionBut
|
|||
setContentView(R.layout.activity_main);
|
||||
|
||||
composeButton = findViewById(R.id.floating_btn);
|
||||
ImageButton drawerToggle = findViewById(R.id.drawer_toggle);
|
||||
tabLayout = findViewById(R.id.tab_layout);
|
||||
viewPager = findViewById(R.id.pager);
|
||||
|
||||
|
@ -189,10 +187,6 @@ public final class MainActivity extends BottomSheetActivity implements ActionBut
|
|||
|
||||
setupDrawer();
|
||||
|
||||
// Setup the navigation drawer toggle button.
|
||||
ThemeUtils.setDrawableTint(this, drawerToggle.getDrawable(), R.attr.toolbar_icon_tint);
|
||||
drawerToggle.setOnClickListener(v -> drawer.openDrawer());
|
||||
|
||||
/* Fetch user info while we're doing other things. This has to be done after setting up the
|
||||
* drawer, though, because its callback touches the header in the drawer. */
|
||||
fetchUserInfo();
|
||||
|
@ -401,6 +395,7 @@ public final class MainActivity extends BottomSheetActivity implements ActionBut
|
|||
.withHasStableIds(true)
|
||||
.withSelectedItem(-1)
|
||||
.withDrawerItems(listItems)
|
||||
.withToolbar(findViewById(R.id.main_toolbar))
|
||||
.withOnDrawerItemClickListener((view, position, drawerItem) -> {
|
||||
if (drawerItem != null) {
|
||||
long drawerItemIdentifier = drawerItem.getIdentifier();
|
||||
|
|
|
@ -61,8 +61,7 @@ data class Account(
|
|||
if (other !is Account) {
|
||||
return false
|
||||
}
|
||||
val account = other as Account?
|
||||
return account?.id == this.id
|
||||
return other.id == this.id
|
||||
}
|
||||
|
||||
fun deepEquals(other: Account): Boolean {
|
||||
|
|
|
@ -92,9 +92,9 @@ class AccountPreferencesFragment : PreferenceFragmentCompat(),
|
|||
publicFiltersPreference = requirePreference("publicFilters")
|
||||
threadFiltersPreference = requirePreference("threadFilters")
|
||||
|
||||
notificationPreference.icon = IconicsDrawable(notificationPreference.context, GoogleMaterial.Icon.gmd_notifications).sizePx(iconSize).color(ThemeUtils.getColor(notificationPreference.context, R.attr.toolbar_icon_tint))
|
||||
notificationPreference.icon = IconicsDrawable(notificationPreference.context, GoogleMaterial.Icon.gmd_notifications).sizePx(iconSize).color(ThemeUtils.getColor(notificationPreference.context, R.attr.preference_icon_tint))
|
||||
mutedUsersPreference.icon = getTintedIcon(R.drawable.ic_mute_24dp)
|
||||
blockedUsersPreference.icon = IconicsDrawable(blockedUsersPreference.context, GoogleMaterial.Icon.gmd_block).sizePx(iconSize).color(ThemeUtils.getColor(blockedUsersPreference.context, R.attr.toolbar_icon_tint))
|
||||
blockedUsersPreference.icon = IconicsDrawable(blockedUsersPreference.context, GoogleMaterial.Icon.gmd_block).sizePx(iconSize).color(ThemeUtils.getColor(blockedUsersPreference.context, R.attr.preference_icon_tint))
|
||||
mutedDomainsPreference.icon = getTintedIcon(R.drawable.ic_mute_24dp)
|
||||
|
||||
notificationPreference.onPreferenceClickListener = this
|
||||
|
@ -289,7 +289,7 @@ class AccountPreferencesFragment : PreferenceFragmentCompat(),
|
|||
|
||||
private fun getTintedIcon(iconId: Int): Drawable? {
|
||||
val drawable = context?.getDrawable(iconId)
|
||||
ThemeUtils.setDrawableTint(context, drawable, R.attr.toolbar_icon_tint)
|
||||
ThemeUtils.setDrawableTint(context, drawable, R.attr.preference_icon_tint)
|
||||
return drawable
|
||||
}
|
||||
|
||||
|
|
|
@ -38,13 +38,13 @@ class PreferencesFragment : PreferenceFragmentCompat() {
|
|||
addPreferencesFromResource(R.xml.preferences)
|
||||
|
||||
val themePreference: Preference = requirePreference("appTheme")
|
||||
themePreference.icon = IconicsDrawable(themePreference.context, GoogleMaterial.Icon.gmd_palette).sizePx(iconSize).color(ThemeUtils.getColor(themePreference.context, R.attr.toolbar_icon_tint))
|
||||
themePreference.icon = IconicsDrawable(themePreference.context, GoogleMaterial.Icon.gmd_palette).sizePx(iconSize).color(ThemeUtils.getColor(themePreference.context, R.attr.preference_icon_tint))
|
||||
|
||||
val emojiPreference: Preference = requirePreference("emojiCompat")
|
||||
emojiPreference.icon = IconicsDrawable(emojiPreference.context, GoogleMaterial.Icon.gmd_sentiment_satisfied).sizePx(iconSize).color(ThemeUtils.getColor(emojiPreference.context, R.attr.toolbar_icon_tint))
|
||||
emojiPreference.icon = IconicsDrawable(emojiPreference.context, GoogleMaterial.Icon.gmd_sentiment_satisfied).sizePx(iconSize).color(ThemeUtils.getColor(emojiPreference.context, R.attr.preference_icon_tint))
|
||||
|
||||
val textSizePreference: Preference = requirePreference("statusTextSize")
|
||||
textSizePreference.icon = IconicsDrawable(textSizePreference.context, GoogleMaterial.Icon.gmd_format_size).sizePx(iconSize).color(ThemeUtils.getColor(textSizePreference.context, R.attr.toolbar_icon_tint))
|
||||
textSizePreference.icon = IconicsDrawable(textSizePreference.context, GoogleMaterial.Icon.gmd_format_size).sizePx(iconSize).color(ThemeUtils.getColor(textSizePreference.context, R.attr.preference_icon_tint))
|
||||
|
||||
val timelineFilterPreferences: Preference = requirePreference("timelineFilterPreferences")
|
||||
timelineFilterPreferences.setOnPreferenceClickListener {
|
||||
|
@ -67,11 +67,11 @@ class PreferencesFragment : PreferenceFragmentCompat() {
|
|||
}
|
||||
|
||||
val languagePreference: Preference = requirePreference("language")
|
||||
languagePreference.icon = IconicsDrawable(languagePreference.context, GoogleMaterial.Icon.gmd_translate).sizePx(iconSize).color(ThemeUtils.getColor(languagePreference.context, R.attr.toolbar_icon_tint))
|
||||
languagePreference.icon = IconicsDrawable(languagePreference.context, GoogleMaterial.Icon.gmd_translate).sizePx(iconSize).color(ThemeUtils.getColor(languagePreference.context, R.attr.preference_icon_tint))
|
||||
|
||||
val botIndicatorPreference = requirePreference("showBotOverlay")
|
||||
val botDrawable = botIndicatorPreference.context.getDrawable(R.drawable.ic_bot_24dp)
|
||||
ThemeUtils.setDrawableTint(context, botDrawable, R.attr.toolbar_icon_tint)
|
||||
ThemeUtils.setDrawableTint(context, botDrawable, R.attr.preference_icon_tint)
|
||||
botIndicatorPreference.icon = botDrawable
|
||||
}
|
||||
|
||||
|
|
|
@ -120,7 +120,8 @@ public class ComposeScheduleView extends ConstraintLayout {
|
|||
private void openPickDateDialog() {
|
||||
long yesterday = Calendar.getInstance().getTimeInMillis() - 24 * 60 * 60 * 1000;
|
||||
CalendarConstraints calendarConstraints = new CalendarConstraints.Builder()
|
||||
.setValidator(new DateValidatorPointForward(yesterday))
|
||||
.setValidator(
|
||||
DateValidatorPointForward.from(yesterday))
|
||||
.build();
|
||||
if (scheduleDateTime == null) {
|
||||
scheduleDateTime = Calendar.getInstance(TimeZone.getDefault());
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_selected="false" android:color="?attr/toolbar_icon_tint"/>
|
||||
<item android:state_selected="true" android:color="?attr/tab_icon_selected_tint"/>
|
||||
</selector>
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/color_primary_dark_dark" />
|
||||
<corners android:radius="14dp"/>
|
||||
<size android:height="100dp" android:width="100dp"/>
|
||||
</shape>
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/color_background_light" />
|
||||
<corners android:radius="14dp"/>
|
||||
<size android:height="100dp" android:width="100dp"/>
|
||||
</shape>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="#ffffff"
|
||||
android:pathData="M3,18h18v-2L3,16v2zM3,13h18v-2L3,11v2zM3,6v2h18L21,6L3,6z" />
|
||||
</vector>
|
|
@ -17,16 +17,15 @@
|
|||
android:id="@+id/accountAppBarLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:colorBackground"
|
||||
android:elevation="@dimen/actionbar_elevation">
|
||||
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:id="@+id/collapsingToolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:contentScrim="?attr/toolbar_background_color"
|
||||
app:contentScrim="?attr/colorSurface"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed"
|
||||
app:statusBarScrim="?android:attr/colorBackground"
|
||||
app:statusBarScrim="?attr/colorSurface"
|
||||
app:titleEnabled="false">
|
||||
|
||||
<ImageView
|
||||
|
@ -64,7 +63,6 @@
|
|||
android:layout_marginTop="6dp"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="?attr/status_text_medium"
|
||||
app:layout_constrainedWidth="true"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
@ -174,7 +172,6 @@
|
|||
android:id="@+id/accountNoteTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:lineSpacingMultiplier="1.1"
|
||||
android:paddingTop="10dp"
|
||||
android:textColor="?android:textColorTertiary"
|
||||
|
@ -307,7 +304,6 @@
|
|||
android:textSize="?attr/status_text_medium" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<!-- top margin equal to statusbar size will be set programmatically -->
|
||||
|
@ -318,7 +314,9 @@
|
|||
android:layout_gravity="top"
|
||||
android:background="@android:color/transparent"
|
||||
app:layout_collapseMode="pin"
|
||||
app:contentInsetStartWithNavigation="0dp"
|
||||
app:layout_scrollFlags="scroll|enterAlways" />
|
||||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
|
@ -355,11 +353,12 @@
|
|||
android:layout_width="@dimen/account_activity_avatar_size"
|
||||
android:layout_height="@dimen/account_activity_avatar_size"
|
||||
android:layout_marginStart="16dp"
|
||||
android:background="@drawable/avatar_background"
|
||||
android:padding="3dp"
|
||||
app:layout_anchor="@+id/accountHeaderInfoContainer"
|
||||
app:layout_anchorGravity="top"
|
||||
app:layout_scrollFlags="scroll"
|
||||
app:srcCompat="@drawable/avatar_default" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||
|
|
|
@ -7,49 +7,38 @@
|
|||
android:layout_height="match_parent"
|
||||
tools:context="com.keylesspalace.tusky.MainActivity">
|
||||
|
||||
<RelativeLayout
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/main_appbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipChildren="false">
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="@dimen/actionbar_elevation">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/drawer_toggle"
|
||||
android:layout_width="?attr/actionBarSize"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:background="?android:colorBackground"
|
||||
android:contentDescription="@string/action_open_drawer"
|
||||
android:elevation="@dimen/actionbar_elevation"
|
||||
app:srcCompat="@drawable/ic_menu_24dp" />
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/tab_layout"
|
||||
style="@style/TuskyTabAppearance"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_toEndOf="@id/drawer_toggle"
|
||||
android:background="?android:colorBackground"
|
||||
android:elevation="@dimen/actionbar_elevation"
|
||||
app:tabGravity="fill"
|
||||
app:tabIconTint="@color/tab_icon_color"
|
||||
app:tabMaxWidth="0dp"
|
||||
app:tabMode="fixed"
|
||||
app:tabPaddingEnd="1dp"
|
||||
app:tabPaddingStart="1dp"
|
||||
app:tabPaddingTop="4dp"
|
||||
app:tabUnboundedRipple="false" />
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/pager"
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/main_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/tab_layout"
|
||||
android:layout_alignParentBottom="true" />
|
||||
app:contentInsetStartWithNavigation="0dp">
|
||||
|
||||
</RelativeLayout>
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/tab_layout"
|
||||
style="@style/TuskyTabAppearance"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:tabGravity="fill"
|
||||
app:tabMaxWidth="0dp"
|
||||
app:tabMode="fixed"
|
||||
app:tabUnboundedRipple="false" />
|
||||
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/tab_layout"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/floating_btn"
|
||||
|
|
|
@ -10,26 +10,26 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="@dimen/actionbar_elevation"
|
||||
android:stateListAnimator="@null"
|
||||
app:layout_collapseMode="pin">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="?attr/toolbar_background_color"
|
||||
app:contentInsetStartWithNavigation="0dp"
|
||||
android:elevation="@dimen/actionbar_elevation"
|
||||
app:layout_scrollFlags="scroll|snap|enterAlways"
|
||||
app:navigationIcon="?attr/homeAsUpIndicator" />
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/tabs"
|
||||
style="@style/TuskyTabAppearance"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/toolbar_background_color"
|
||||
app:tabGravity="fill"
|
||||
app:tabMode="fixed"
|
||||
app:tabTextAppearance="@style/TuskyTabAppearance"/>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
|
|
|
@ -12,8 +12,7 @@
|
|||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="?attr/toolbar_background_color" />
|
||||
android:layout_height="?attr/actionBarSize" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
|
|
|
@ -27,8 +27,7 @@
|
|||
|
||||
<item name="window_background">@color/window_background_dark</item>
|
||||
<item name="custom_tab_toolbar">@color/custom_tab_toolbar_dark</item>
|
||||
<item name="toolbar_background_color">@color/toolbar_background_dark</item>
|
||||
<item name="toolbar_icon_tint">@color/toolbar_icon_dark</item>
|
||||
<item name="preference_icon_tint">@color/toolbar_icon_dark</item>
|
||||
<item name="image_button_style">@style/TuskyImageButton.Dark</item>
|
||||
<item name="status_reblog_small_drawable">@drawable/ic_reblog_dark_24dp</item>
|
||||
<item name="status_reblog_inactive_drawable">@drawable/reblog_inactive_dark</item>
|
||||
|
|
|
@ -12,8 +12,7 @@
|
|||
<attr name="recents_background_color" format="reference|color" />
|
||||
<attr name="window_background" format="reference" />
|
||||
<attr name="custom_tab_toolbar" format="reference" />
|
||||
<attr name="toolbar_background_color" format="reference" />
|
||||
<attr name="toolbar_icon_tint" format="reference" />
|
||||
<attr name="preference_icon_tint" format="reference" />
|
||||
<attr name="image_button_style" format="reference" />
|
||||
<attr name="status_reblog_small_drawable" format="reference" />
|
||||
<attr name="status_reblog_inactive_drawable" format="reference" />
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
<color name="text_color_primary_dark">#ffffff</color>
|
||||
<color name="text_color_secondary_dark">#d9e1e8</color>
|
||||
<color name="text_color_tertiary_dark">#9baec8</color>
|
||||
<color name="toolbar_background_dark">#4c5368</color>
|
||||
<color name="toolbar_icon_dark">#d9e1e8</color>
|
||||
<color name="status_reblog_button_disabled_dark">#444b5d</color>
|
||||
<color name="status_divider_dark">#2f3441</color>
|
||||
|
@ -46,7 +45,6 @@
|
|||
<color name="text_color_primary_light">#CC000000</color>
|
||||
<color name="text_color_secondary_light">#3c3c3c</color>
|
||||
<color name="text_color_tertiary_light">#5f636f</color>
|
||||
<color name="toolbar_background_light">#f6f7f7</color>
|
||||
<color name="toolbar_icon_light">#7C000000</color>
|
||||
<color name="status_reblog_button_disabled_light">#BFBFBF</color>
|
||||
<color name="sensitive_media_warning_background_light">#b0b0b0</color>
|
||||
|
|
|
@ -40,6 +40,8 @@
|
|||
<dimen name="avatar_radius_36dp">4.5dp</dimen> <!-- 1/8 of 36dp -->
|
||||
<dimen name="avatar_radius_24dp">3dp</dimen> <!-- 1/8 of 24dp -->
|
||||
<dimen name="min_report_button_width">160dp</dimen>
|
||||
<dimen name="account_avatar_background_radius">14dp</dimen>
|
||||
|
||||
|
||||
<dimen name="card_radius">5dp</dimen>
|
||||
|
||||
|
|
|
@ -63,6 +63,8 @@
|
|||
|
||||
<item name="colorPrimaryDark">@color/color_primary_dark_light</item>
|
||||
|
||||
<item name="appBarLayoutStyle">@style/Widget.MaterialComponents.AppBarLayout.Surface</item>
|
||||
|
||||
<item name="android:colorBackground">@color/color_background_light</item>
|
||||
<item name="recents_background_color">@color/color_primary_light</item>
|
||||
<item name="android:windowBackground">@color/window_background_light</item>
|
||||
|
@ -77,8 +79,7 @@
|
|||
|
||||
<item name="window_background">@color/window_background_light</item>
|
||||
<item name="custom_tab_toolbar">@color/custom_tab_toolbar_light</item>
|
||||
<item name="toolbar_background_color">@color/toolbar_background_light</item>
|
||||
<item name="toolbar_icon_tint">@color/toolbar_icon_light</item>
|
||||
<item name="preference_icon_tint">@color/toolbar_icon_light</item>
|
||||
<item name="image_button_style">@style/TuskyImageButton.Light</item>
|
||||
<item name="status_reblog_small_drawable">@drawable/ic_reblog_light_24dp</item>
|
||||
<item name="status_reblog_inactive_drawable">@drawable/reblog_inactive_light</item>
|
||||
|
@ -156,9 +157,6 @@
|
|||
<item name="android:textSize">?attr/status_text_medium</item>
|
||||
<item name="android:textAllCaps">true</item>
|
||||
<item name="tabIndicatorHeight">3dp</item>
|
||||
<item name="tabIndicatorColor">?attr/tab_icon_selected_tint</item>
|
||||
<item name="tabTextColor">?android:attr/textColorSecondary</item>
|
||||
<item name="tabSelectedTextColor">?attr/tab_icon_selected_tint</item>
|
||||
</style>
|
||||
|
||||
<style name="TuskyButton" parent="Widget.MaterialComponents.Button">
|
||||
|
@ -187,9 +185,10 @@
|
|||
<item name="android:windowBackground">@color/window_background_black</item>
|
||||
<item name="android:textColorPrimary">@color/text_color_primary_black</item>
|
||||
|
||||
<item name="colorSurface">@color/color_primary_black</item>
|
||||
|
||||
<item name="recents_background_color">@color/toolbar_background_black</item>
|
||||
<item name="window_background">@color/window_background_black</item>
|
||||
<item name="toolbar_background_color">@color/toolbar_background_black</item>
|
||||
<item name="sensitive_media_warning_background_color">@color/color_background_black</item>
|
||||
<item name="account_header_background_color">@color/color_background_black</item>
|
||||
|
||||
|
|
Loading…
Reference in New Issue