aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAurelien Hubert <aurel.hubert@gmail.com>2016-03-23 22:36:00 +0100
committerAurelien Hubert <aurel.hubert@gmail.com>2016-03-23 22:36:00 +0100
commit85c437c09e0a37d77398197fd1aa49316b176533 (patch)
treebc86f9fd33e6c3283a28b4649c02e7b48960f4fb
parentcdb77f9da1067df89287fc9a5943ed3c464f01cf (diff)
downloadandroid_external_ahbottomnavigation-85c437c09e0a37d77398197fd1aa49316b176533.tar.gz
android_external_ahbottomnavigation-85c437c09e0a37d77398197fd1aa49316b176533.tar.bz2
android_external_ahbottomnavigation-85c437c09e0a37d77398197fd1aa49316b176533.zip
Improve forceTitlesDisplay UI
-rw-r--r--README.md2
-rw-r--r--ahbottomnavigation/build.gradle6
-rw-r--r--ahbottomnavigation/src/main/java/com/aurelhubert/ahbottomnavigation/AHBottomNavigation.java30
-rw-r--r--ahbottomnavigation/src/main/res/values/dimens.xml3
4 files changed, 31 insertions, 10 deletions
diff --git a/README.md b/README.md
index 91d2b23..eec2397 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@ Library to implement the Bottom Navigation component from Material Design guidel
### Gradle
```groovy
dependencies {
- compile 'com.aurelhubert:ahbottomnavigation:0.1.5'
+ compile 'com.aurelhubert:ahbottomnavigation:0.1.6'
}
```
### XML
diff --git a/ahbottomnavigation/build.gradle b/ahbottomnavigation/build.gradle
index 330461f..e486695 100644
--- a/ahbottomnavigation/build.gradle
+++ b/ahbottomnavigation/build.gradle
@@ -13,7 +13,7 @@ ext {
siteUrl = 'https://github.com/aurelhubert/ahbottomnavigation'
gitUrl = 'https://github.com/aurelhubert/ahbottomnavigation.git'
- libraryVersion = '0.1.5'
+ libraryVersion = '0.1.6'
developerId = 'aurelhubert'
developerName = 'Aurelien Hubert'
@@ -31,8 +31,8 @@ android {
defaultConfig {
minSdkVersion 16
targetSdkVersion 23
- versionCode 5
- versionName "0.1.5"
+ versionCode 6
+ versionName "0.1.6"
}
buildTypes {
release {
diff --git a/ahbottomnavigation/src/main/java/com/aurelhubert/ahbottomnavigation/AHBottomNavigation.java b/ahbottomnavigation/src/main/java/com/aurelhubert/ahbottomnavigation/AHBottomNavigation.java
index 0f4886b..f1e6186 100644
--- a/ahbottomnavigation/src/main/java/com/aurelhubert/ahbottomnavigation/AHBottomNavigation.java
+++ b/ahbottomnavigation/src/main/java/com/aurelhubert/ahbottomnavigation/AHBottomNavigation.java
@@ -173,30 +173,46 @@ public class AHBottomNavigation extends FrameLayout {
float minWidth = context.getResources().getDimension(R.dimen.bottom_navigation_min_width);
float maxWidth = context.getResources().getDimension(R.dimen.bottom_navigation_max_width);
+ if (forceTitlesDisplay && items.size() > MIN_ITEMS) {
+ minWidth = context.getResources().getDimension(R.dimen.bottom_navigation_small_inactive_min_width);
+ maxWidth = context.getResources().getDimension(R.dimen.bottom_navigation_small_inactive_max_width);
+ }
+
int layoutWidth = getWidth();
if (layoutWidth == 0 || items.size() == 0) {
return;
}
float itemWidth = layoutWidth / items.size();
- if (forceTitlesDisplay) {
- } else if (itemWidth < minWidth) {
+ if (itemWidth < minWidth) {
itemWidth = minWidth;
} else if (itemWidth > maxWidth) {
itemWidth = maxWidth;
}
+ float activeSize = context.getResources().getDimension(R.dimen.bottom_navigation_text_size_active);
+ float inactiveSize = context.getResources().getDimension(R.dimen.bottom_navigation_text_size_inactive);
+ if (forceTitlesDisplay && items.size() > MIN_ITEMS) {
+ activeSize = context.getResources().getDimension(R.dimen.bottom_navigation_text_size_forced_active);
+ inactiveSize = context.getResources().getDimension(R.dimen.bottom_navigation_text_size_forced_inactive);
+ }
+
for (int i = 0; i < items.size(); i++) {
final int itemIndex = i;
AHBottomNavigationItem item = items.get(itemIndex);
View view = inflater.inflate(R.layout.bottom_navigation_item, this, false);
+ FrameLayout container = (FrameLayout) view.findViewById(R.id.bottom_navigation_container);
ImageView icon = (ImageView) view.findViewById(R.id.bottom_navigation_item_icon);
TextView title = (TextView) view.findViewById(R.id.bottom_navigation_item_title);
icon.setImageDrawable(item.getDrawable(context));
title.setText(item.getTitle(context));
+ if (forceTitlesDisplay && items.size() > MIN_ITEMS) {
+ container.setPadding(0, container.getPaddingTop(), 0, container.getPaddingBottom());
+ }
+
if (i == currentItem) {
int activePaddingTop = (int) context.getResources()
.getDimension(R.dimen.bottom_navigation_padding_top_active);
@@ -224,10 +240,7 @@ public class AHBottomNavigation extends FrameLayout {
title.setTextColor(currentItem == i ? accentColor : inactiveColor);
}
- title.setTextSize(TypedValue.COMPLEX_UNIT_PX, currentItem == i ?
- context.getResources().getDimension(R.dimen.bottom_navigation_text_size_active) :
- context.getResources().getDimension(R.dimen.bottom_navigation_text_size_inactive));
-
+ title.setTextSize(TypedValue.COMPLEX_UNIT_PX, currentItem == i ? activeSize : inactiveSize);
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
@@ -343,6 +356,11 @@ public class AHBottomNavigation extends FrameLayout {
int inactivePaddingTop = (int) context.getResources().getDimension(R.dimen.bottom_navigation_padding_top_inactive);
float activeSize = context.getResources().getDimension(R.dimen.bottom_navigation_text_size_active);
float inactiveSize = context.getResources().getDimension(R.dimen.bottom_navigation_text_size_inactive);
+ if (forceTitlesDisplay && items.size() > MIN_ITEMS) {
+ activeSize = context.getResources().getDimension(R.dimen.bottom_navigation_text_size_forced_active);
+ inactiveSize = context.getResources().getDimension(R.dimen.bottom_navigation_text_size_forced_inactive);
+ }
+
int itemActiveColor = colored ? ContextCompat.getColor(context, R.color.colorActiveSmall) :
accentColor;
int itemInactiveColor = colored ? ContextCompat.getColor(context, R.color.colorInactiveSmall) :
diff --git a/ahbottomnavigation/src/main/res/values/dimens.xml b/ahbottomnavigation/src/main/res/values/dimens.xml
index 39ab798..19996de 100644
--- a/ahbottomnavigation/src/main/res/values/dimens.xml
+++ b/ahbottomnavigation/src/main/res/values/dimens.xml
@@ -16,6 +16,9 @@
<dimen name="bottom_navigation_text_size_active">14sp</dimen>
<dimen name="bottom_navigation_text_size_inactive">12sp</dimen>
+ <dimen name="bottom_navigation_text_size_forced_active">11sp</dimen>
+ <dimen name="bottom_navigation_text_size_forced_inactive">10sp</dimen>
+
<!-- Small -->
<dimen name="bottom_navigation_small_active_min_width">96dp</dimen>
<dimen name="bottom_navigation_small_active_max_width">168dp</dimen>