Skip to content

Commit 24f907c

Browse files
committed
added attrs for setting custom color for bottom navigation attrs are :
SFBColorGallery SFBColorFile SFBColorAudio SFBColorPDF SFBBottomNavActiveColor SFBBottomNavInactiveColor SFBBottomNavColorDisabled
1 parent b3fbfb3 commit 24f907c

File tree

16 files changed

+78
-604
lines changed

16 files changed

+78
-604
lines changed

SmartFileBrowser/src/main/AndroidManifest.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,20 @@
2727
<activity
2828
android:name=".acitivties.VideoViewActivity"
2929
android:exported="false"
30-
android:theme="@style/sfb_EditorTheme"
30+
android:theme="@style/sfb_AppTheme.sfb_EditorTheme"
3131
android:screenOrientation="locked"
3232
/>
3333
<activity
3434
android:name=".acitivties.PhotoEditorActivity"
3535
android:exported="false"
36-
android:theme="@style/sfb_EditorTheme"
36+
android:theme="@style/sfb_AppTheme.sfb_EditorTheme"
3737
android:screenOrientation="locked"
3838
/>
3939
<activity
4040
android:name=".acitivties.FileBrowserMainActivity"
4141
android:configChanges="keyboard|orientation"
4242
android:launchMode="singleInstance"
43-
android:theme="@style/sfb_MainAppTheme.sfb_AppTheme" /> <!-- <activity -->
43+
android:theme="@style/sfb_AppTheme" /> <!-- <activity -->
4444
<!-- android:name="iamutkarshtiwari.github.io.ananas.editimage.EditImageActivity" -->
4545
<!-- android:exported="true" -->
4646
<!-- android:label="@string/sfb_image_editor_label" -->

SmartFileBrowser/src/main/java/ir/smartdevelopers/smartfilebrowser/acitivties/FileBrowserMainActivity.java

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import androidx.annotation.NonNull;
55
import androidx.annotation.Nullable;
66
import androidx.appcompat.app.AppCompatActivity;
7+
import androidx.appcompat.content.res.AppCompatResources;
78
import androidx.appcompat.widget.AppCompatTextView;
89
import androidx.constraintlayout.widget.Group;
910
import androidx.core.app.ActivityCompat;
@@ -26,9 +27,6 @@
2627
import android.Manifest;
2728
import android.animation.Animator;
2829
import android.animation.AnimatorListenerAdapter;
29-
import android.animation.AnimatorSet;
30-
import android.animation.ObjectAnimator;
31-
import android.animation.PropertyValuesHolder;
3230
import android.animation.ValueAnimator;
3331
import android.annotation.SuppressLint;
3432
import android.app.Activity;
@@ -41,8 +39,6 @@
4139
import android.graphics.Bitmap;
4240
import android.graphics.Color;
4341
import android.graphics.Rect;
44-
import android.graphics.RenderEffect;
45-
import android.graphics.Shader;
4642
import android.graphics.drawable.ColorDrawable;
4743
import android.graphics.drawable.Drawable;
4844
import android.net.Uri;
@@ -77,7 +73,6 @@
7773
import com.aurelhubert.ahbottomnavigation.AHBottomNavigation;
7874
import com.aurelhubert.ahbottomnavigation.AHBottomNavigationItem;
7975

80-
import com.google.android.material.animation.AnimatorSetCompat;
8176
import com.google.android.material.appbar.AppBarLayout;
8277
import com.google.android.material.bottomsheet.BottomSheetBehavior;
8378

@@ -251,7 +246,7 @@ public boolean accept(File pathname) {
251246

252247
@Override
253248
protected void onCreate(Bundle savedInstanceState) {
254-
setTheme(R.style.sfb_MainAppTheme_sfb_AppTheme);
249+
setTheme(R.style.sfb_AppTheme);
255250
Window window = getWindow();
256251
// window.setSharedElementsUseOverlay(false);
257252
WindowCompat.enableEdgeToEdge(window);
@@ -815,25 +810,39 @@ private void setFileBrowserEnabled(boolean enabled) {
815810
mFileBrowserEnabled = enabled;
816811
}
817812

818-
813+
private AHBottomNavigationItem createNavItem(int colorAttr, int titleRes, int iconRes){
814+
TypedValue value = new TypedValue();
815+
getTheme().resolveAttribute(colorAttr,value,true);
816+
return new AHBottomNavigationItem(
817+
getString(titleRes),
818+
AppCompatResources.getDrawable(this,iconRes),
819+
value.data);
820+
}
819821
private void initViews(Bundle savedInstanceState) {
820822

823+
int[] attrs={R.attr.SFBColorGallery,R.attr.SFBColorPDF,R.attr.SFBColorAudio,R.attr.SFBColorFile};
824+
821825
if (mShowGalleryTab) {
822-
AHBottomNavigationItem gallery = new AHBottomNavigationItem(R.string.sfb_gallery, R.drawable.sfb_ic_gallery, R.color.sfb_color_gallery);
823-
mBottomNavigationView.addItem(gallery);
826+
mBottomNavigationView.addItem(createNavItem(attrs[0],R.string.sfb_gallery,R.drawable.sfb_ic_gallery));
824827
}
825828
if (mShowPDFTab) {
826-
AHBottomNavigationItem pdf = new AHBottomNavigationItem(R.string.sfb_PDF, R.drawable.sfb_ic_pdf, R.color.sfb_color_pdf);
827-
mBottomNavigationView.addItem(pdf);
829+
mBottomNavigationView.addItem(createNavItem(attrs[1],R.string.sfb_PDF, R.drawable.sfb_ic_pdf));
828830
}
829831
if (mShowAudioTab) {
830-
AHBottomNavigationItem audio = new AHBottomNavigationItem(R.string.sfb_audio, R.drawable.sfb_ic_square_audio, R.color.sfb_color_audio);
831-
mBottomNavigationView.addItem(audio);
832+
mBottomNavigationView.addItem(createNavItem(attrs[2],R.string.sfb_audio, R.drawable.sfb_ic_square_audio));
832833
}
833834
if (mShowFilesTab) {
834-
AHBottomNavigationItem files = new AHBottomNavigationItem(R.string.sfb_file, R.drawable.sfb_ic_file, R.color.sfb_color_file);
835-
mBottomNavigationView.addItem(files);
836-
}
835+
mBottomNavigationView.addItem(createNavItem(attrs[3],R.string.sfb_file, R.drawable.sfb_ic_file));
836+
}
837+
TypedValue value = new TypedValue();
838+
getTheme().resolveAttribute(R.attr.SFBBottomNavActiveColor,value,true);
839+
int colorActive = value.data;
840+
getTheme().resolveAttribute(R.attr.SFBBottomNavInactiveColor,value,true);
841+
int colorInactive = value.data;
842+
mBottomNavigationView.setColoredModeColors(colorActive,colorInactive);
843+
getTheme().resolveAttribute(R.attr.SFBBottomNavColorDisabled,value,true);
844+
int colorDisabled = value.data;
845+
mBottomNavigationView.setItemDisableColor(colorDisabled);
837846
mBottomNavigationView.setOnTabSelectedListener(mOnMenuItemSelectionListener);
838847
mBottomNavigationView.setColored(true);
839848
mBottomNavigationView.setUseElevation(true);

SmartFileBrowser/src/main/java/ir/smartdevelopers/smartfilebrowser/acitivties/VideoViewActivity.java

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,14 @@ public class VideoViewActivity extends AppCompatActivity {
7373
private boolean isExiting=false;
7474
private AppCompatImageView btnPlay;
7575
private AppCompatTextView txtVideoLength,txtCurrentTime;
76+
private View mSliderContainer;
7677
private Runnable mTimerRunnable;
7778
private Handler mTimerHandler;
7879
private boolean isPlaying;
7980
private Slider mSlider;
8081
private boolean mVideoPrapered = false;
8182
private boolean mTransitionEnds = false;
83+
8284
@SuppressLint("ClickableViewAccessibility")
8385
@Override
8486
protected void onCreate(Bundle savedInstanceState) {
@@ -159,13 +161,7 @@ public boolean onTouch(View v, MotionEvent event) {
159161
return false;
160162
}
161163
});
162-
mVideoView.setOnInfoListener(new MediaPlayer.OnInfoListener() {
163-
@Override
164-
public boolean onInfo(MediaPlayer mp, int what, int extra) {
165-
Log.d("VideoVieAcivity","Player info = "+what);
166-
return false;
167-
}
168-
});
164+
169165

170166
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
171167
@Override
@@ -230,7 +226,14 @@ private void showThumbnail(boolean animate) {
230226
private void hideThumbNaile(boolean animate) {
231227
if (mVideoPrapered && mTransitionEnds){
232228
if (animate){
233-
imgThumbnailHolder.animate().setDuration(animationDuration).alpha(0);
229+
imgThumbnailHolder.animate().setDuration(animationDuration).alpha(0)
230+
.setUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
231+
@Override
232+
public void onAnimationUpdate(@NonNull ValueAnimator animation) {
233+
float translate = mSliderContainer.getHeight() * (1-animation.getAnimatedFraction());
234+
mSliderContainer.setTranslationY(translate);
235+
}
236+
});
234237
}else{
235238
imgThumbnailHolder.setAlpha(0f);
236239
}
@@ -289,6 +292,7 @@ private void findViews() {
289292
txtCurrentTime=findViewById(R.id.sfb_activity_videoView_playerSeekbarCurrentTime);
290293
txtVideoLength=findViewById(R.id.sfb_activity_videoView_playerSeekbarEndTime);
291294
mSlider=findViewById(R.id.sfb_activity_videoView_playerSeekbar);
295+
mSliderContainer = findViewById(R.id.sfb_activity_videoView_playerSeekbarContainer);
292296
mSlider.setValueFrom(0);
293297
LabelFormatter labelFormatter=new LabelFormatter() {
294298
@NonNull
@@ -327,6 +331,14 @@ public void onStopTrackingTouch(@NonNull Slider slider) {
327331
}
328332

329333
});
334+
mSliderContainer.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
335+
@Override
336+
public boolean onPreDraw() {
337+
mSliderContainer.getViewTreeObserver().removeOnPreDrawListener(this);
338+
mSliderContainer.setTranslationY(mSliderContainer.getHeight());
339+
return true;
340+
}
341+
});
330342

331343
}
332344

SmartFileBrowser/src/main/res/layout/activity_video_view.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
android:paddingBottom="16dp"
5555
android:paddingTop="16dp"
5656
android:background="#B3000000"
57+
5758
>
5859

5960
<androidx.appcompat.widget.AppCompatTextView

SmartFileBrowser/src/main/res/layout/container_file_browser.xml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,5 @@
6464
android:visibility="gone"
6565
tools:visibility="visible"
6666
/>
67-
<ViewStub
68-
android:id="@+id/fileBrowser_activity_main_openSystemFileBrowserViewStub"
69-
android:layout_width="match_parent"
70-
android:layout_height="match_parent"
71-
android:layout_gravity="center"
72-
android:layout="@layout/sfb_open_system_file_browser_layout"
73-
android:inflatedId="@+id/fileBrowser_activity_main_openSystemFileBrowserView"
74-
/>
67+
7568
</androidx.constraintlayout.widget.ConstraintLayout>

SmartFileBrowser/src/main/res/layout/sfb_open_system_file_browser_layout.xml

Lines changed: 0 additions & 57 deletions
This file was deleted.

SmartFileBrowser/src/main/res/menu/sfb_bottombar_menu.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,25 @@
66
<item android:id="@+id/sfb_action_gallery"
77
android:title="@string/sfb_gallery"
88
android:icon="@drawable/sfb_ic_gallery"
9-
app:iconTint="@color/sfb_color_gallery"
10-
android:color="@color/sfb_color_gallery"
9+
app:iconTint="?attr/SFBColorGallery"
10+
android:color="?attr/SFBColorGallery"
1111
/>
1212
<item android:id="@+id/sfb_action_PDF"
1313
android:title="@string/sfb_PDF"
1414
android:icon="@drawable/sfb_ic_pdf"
15-
app:iconTint="@color/sfb_color_pdf"
16-
android:color="@color/sfb_color_pdf"
15+
app:iconTint="?attr/SFBColorPDF"
16+
android:color="?attr/SFBColorPDF"
1717
/>
1818
<item android:id="@+id/sfb_action_audio"
1919
android:title="@string/sfb_audio"
2020
android:icon="@drawable/sfb_ic_square_audio"
21-
app:iconTint="@color/sfb_color_audio"
22-
android:color="@color/sfb_color_audio"
21+
app:iconTint="?attr/SFBColorAudio"
22+
android:color="?attr/SFBColorAudio"
2323
/>
2424
<item android:id="@+id/sfb_action_file"
2525
android:title="@string/sfb_file"
2626
android:icon="@drawable/sfb_ic_file"
27-
app:iconTint="@color/sfb_color_file"
28-
android:color="@color/sfb_color_file"
27+
app:iconTint="?attr/SFBColorFile"
28+
android:color="?attr/SFBColorFile"
2929
/>
3030
</menu>

0 commit comments

Comments
 (0)