mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2025-09-14 07:05:40 -04:00
Add icon to v2 design
This commit is contained in:
parent
99ed485b1b
commit
2f79a74ad3
@ -75,6 +75,8 @@ import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.*;
|
||||
import android.support.v4.app.*;
|
||||
|
||||
/**
|
||||
* VerticalTabLayout provides a vertical layout to display tabs.
|
||||
@ -276,7 +278,7 @@ public class VerticalTabLayout extends ScrollView {
|
||||
private ValueAnimator mScrollAnimator;
|
||||
|
||||
ViewPager mViewPager;
|
||||
private PagerAdapter mPagerAdapter;
|
||||
private ViewPagerAdapter mPagerAdapter;
|
||||
private DataSetObserver mPagerAdapterObserver;
|
||||
private VerticalTabLayoutOnPageChangeListener mPageChangeListener;
|
||||
private AdapterChangeListener mAdapterChangeListener;
|
||||
@ -808,7 +810,7 @@ public class VerticalTabLayout extends ScrollView {
|
||||
mCurrentVpSelectedListener = new ViewPagerOnTabSelectedListener(viewPager);
|
||||
addOnTabSelectedListener(mCurrentVpSelectedListener);
|
||||
|
||||
final PagerAdapter adapter = viewPager.getAdapter();
|
||||
final ViewPagerAdapter adapter = (VerticalTabLayout.ViewPagerAdapter) viewPager.getAdapter();
|
||||
if (adapter != null) {
|
||||
// Now we'll populate ourselves from the pager adapter, adding an observer if
|
||||
// autoRefresh is enabled
|
||||
@ -840,7 +842,7 @@ public class VerticalTabLayout extends ScrollView {
|
||||
* when the {@link PagerAdapter} is changed.
|
||||
*/
|
||||
@Deprecated
|
||||
public void setTabsFromPagerAdapter(@Nullable final PagerAdapter adapter) {
|
||||
public void setTabsFromPagerAdapter(@Nullable final ViewPagerAdapter adapter) {
|
||||
setPagerAdapter(adapter, false);
|
||||
}
|
||||
|
||||
@ -882,7 +884,7 @@ public class VerticalTabLayout extends ScrollView {
|
||||
- getPaddingRight());
|
||||
}
|
||||
|
||||
void setPagerAdapter(@Nullable final PagerAdapter adapter, final boolean addObserver) {
|
||||
void setPagerAdapter(@Nullable final ViewPagerAdapter adapter, final boolean addObserver) {
|
||||
if (mPagerAdapter != null && mPagerAdapterObserver != null) {
|
||||
// If we already have a PagerAdapter, unregister our observer
|
||||
mPagerAdapter.unregisterDataSetObserver(mPagerAdapterObserver);
|
||||
@ -909,6 +911,9 @@ public class VerticalTabLayout extends ScrollView {
|
||||
final int adapterCount = mPagerAdapter.getCount();
|
||||
for (int i = 0; i < adapterCount; i++) {
|
||||
addTab(newTab().setText(mPagerAdapter.getPageTitle(i)), false);
|
||||
if (mPagerAdapter.getIcon(i) != 0) {
|
||||
getTabAt(i).setIcon(mPagerAdapter.getIcon(i));
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure we reflect the currently set ViewPager item
|
||||
@ -2217,7 +2222,7 @@ public class VerticalTabLayout extends ScrollView {
|
||||
public void onAdapterChanged(@NonNull ViewPager viewPager,
|
||||
@Nullable PagerAdapter oldAdapter, @Nullable PagerAdapter newAdapter) {
|
||||
if (mViewPager == viewPager) {
|
||||
setPagerAdapter(newAdapter, mAutoRefresh);
|
||||
setPagerAdapter((ViewPagerAdapter) newAdapter, mAutoRefresh);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2225,4 +2230,57 @@ public class VerticalTabLayout extends ScrollView {
|
||||
mAutoRefresh = autoRefresh;
|
||||
}
|
||||
}
|
||||
|
||||
public static class ViewPagerAdapter extends FragmentPagerAdapter {
|
||||
List<ViewPagerItem> viewPagerList = new ArrayList<>();
|
||||
|
||||
public ViewPagerAdapter(FragmentManager fragmentManager) {
|
||||
super(fragmentManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
return viewPagerList.get(position).fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return viewPagerList.size();
|
||||
}
|
||||
|
||||
public int getIcon(int position) {
|
||||
return viewPagerList.get(position).icon;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getPageTitle(int position) {
|
||||
return viewPagerList.get(position).title;
|
||||
}
|
||||
|
||||
public void addFragment(Fragment fragment, int icon, String name) {
|
||||
ViewPagerItem item = new ViewPagerItem();
|
||||
item.fragment = fragment;
|
||||
item.icon = icon;
|
||||
item.title = name;
|
||||
viewPagerList.add(item);
|
||||
}
|
||||
|
||||
public void setFragment(int index, Fragment fragment, int icon, String name) {
|
||||
ViewPagerItem item = new ViewPagerItem();
|
||||
item.fragment = fragment;
|
||||
item.icon = icon;
|
||||
item.title = name;
|
||||
viewPagerList.set(index, item);
|
||||
}
|
||||
|
||||
public void removeFragment(int index) {
|
||||
viewPagerList.remove(index);
|
||||
}
|
||||
}
|
||||
|
||||
public static class ViewPagerItem {
|
||||
public Fragment fragment;
|
||||
public String title;
|
||||
public int icon;
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import android.content.*;
|
||||
import android.graphics.*;
|
||||
import android.os.*;
|
||||
import android.support.design.widget.*;
|
||||
import android.support.design.widget.VerticalTabLayout.ViewPagerAdapter;
|
||||
import android.support.v4.app.*;
|
||||
import android.support.v4.view.*;
|
||||
import android.support.v7.app.*;
|
||||
@ -109,9 +110,10 @@ public class PojavLauncherActivity extends AppCompatActivity
|
||||
crashView = new CrashFragment();
|
||||
|
||||
viewPageAdapter = new ViewPagerAdapter(getSupportFragmentManager());
|
||||
viewPageAdapter.addFragment(new LauncherFragment(), getString(R.string.mcl_tab_news));
|
||||
viewPageAdapter.addFragment(consoleView, getString(R.string.mcl_tab_console));
|
||||
viewPageAdapter.addFragment(crashView, getString(R.string.mcl_tab_crash));
|
||||
viewPageAdapter.addFragment(new LauncherFragment(), R.drawable.ic_menu_news, getString(R.string.mcl_tab_news));
|
||||
viewPageAdapter.addFragment(consoleView, R.drawable.ic_menu_java, getString(R.string.mcl_tab_console));
|
||||
viewPageAdapter.addFragment(crashView, 0, getString(R.string.mcl_tab_crash));
|
||||
viewPageAdapter.addFragment(new LauncherPreferenceFragment(), R.drawable.ic_menu_settings, getString(R.string.mcl_option_settings));
|
||||
|
||||
viewPager.setAdapter(viewPageAdapter);
|
||||
tabLayout.setupWithViewPager(viewPager);
|
||||
@ -854,44 +856,4 @@ public class PojavLauncherActivity extends AppCompatActivity
|
||||
}
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
private class ViewPagerAdapter extends FragmentPagerAdapter {
|
||||
|
||||
List<Fragment> fragmentList = new ArrayList<>();
|
||||
List<String> fragmentTitles = new ArrayList<>();
|
||||
|
||||
public ViewPagerAdapter(FragmentManager fragmentManager) {
|
||||
super(fragmentManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
return fragmentList.get(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return fragmentList.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getPageTitle(int position) {
|
||||
return fragmentTitles.get(position);
|
||||
}
|
||||
|
||||
public void addFragment(Fragment fragment, String name) {
|
||||
fragmentList.add(fragment);
|
||||
fragmentTitles.add(name);
|
||||
}
|
||||
|
||||
public void setFragment(int index, Fragment fragment, String name) {
|
||||
fragmentList.set(index, fragment);
|
||||
fragmentTitles.set(index, name);
|
||||
}
|
||||
|
||||
public void removeFragment(int index) {
|
||||
fragmentList.remove(index);
|
||||
fragmentTitles.remove(index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
BIN
app/src/main/res/drawable/ic_menu_dungeons.png
Normal file
BIN
app/src/main/res/drawable/ic_menu_dungeons.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
BIN
app/src/main/res/drawable/ic_menu_java.png
Normal file
BIN
app/src/main/res/drawable/ic_menu_java.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
BIN
app/src/main/res/drawable/ic_menu_news.png
Normal file
BIN
app/src/main/res/drawable/ic_menu_news.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 331 B |
BIN
app/src/main/res/drawable/ic_menu_settings.png
Normal file
BIN
app/src/main/res/drawable/ic_menu_settings.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 333 B |
Loading…
x
Reference in New Issue
Block a user