(CI build may error) Modify TabView to be vertical

This commit is contained in:
khanhduytran0 2020-10-03 18:12:23 +07:00
parent a0f29e6e2a
commit ca4bbaeadd
4 changed files with 2286 additions and 10 deletions

View File

@ -4,10 +4,9 @@ import android.app.*;
import android.content.*;
import android.graphics.*;
import android.os.*;
import android.support.design.widget.*;
import android.support.v4.app.*;
import android.support.v4.view.*;
import android.support.v7.app.*;
import android.text.*;
import android.util.*;
import android.view.*;
import android.widget.*;
@ -17,6 +16,7 @@ import com.kdt.filerapi.*;
import java.io.*;
import java.nio.charset.*;
import java.util.*;
import net.kdt.pojavlaunch.launcheruiv3.*;
import net.kdt.pojavlaunch.mcfragments.*;
import net.kdt.pojavlaunch.prefs.*;
import net.kdt.pojavlaunch.util.*;
@ -26,7 +26,6 @@ import org.lwjgl.glfw.*;
import android.app.AlertDialog;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.text.*;
//import android.support.v7.view.menu.*;
//import net.zhuoweizhang.boardwalk.downloader.*;
@ -34,8 +33,8 @@ public class MCLauncherActivity extends AppCompatActivity
{
//private FragmentTabHost mTabHost;
private LinearLayout fullTab;
private ViewPager viewPager;
private TabLayout tabLayout;
private PojavLauncherViewPager viewPager;
private VerticalTabLayout tabLayout;
private TextView tvVersion, tvUsernameView;
private Spinner versionSelector;
@ -98,9 +97,9 @@ public class MCLauncherActivity extends AppCompatActivity
setContentView(R.layout.launcher_main_v3);
// setContentView(R.layout.launcher_main);
fullTab = (LinearLayout) findViewById(R.id.launchermainFragmentTabView);
tabLayout = (TabLayout) findViewById(R.id.launchermainTabLayout);
viewPager = (ViewPager) findViewById(R.id.launchermainTabPager);
fullTab = findViewById(R.id.launchermainFragmentTabView);
tabLayout = findViewById(R.id.launchermainTabLayout);
viewPager = findViewById(R.id.launchermainTabPager);
consoleView = new ConsoleFragment();
crashView = new CrashFragment();

View File

@ -0,0 +1,59 @@
// Source: https://github.com/TomazWang/TIL-today-i-learned/blob/master/Android/VerticalViewPager.md
package net.kdt.pojavlaunch.launcheruiv3;
import android.content.*;
import android.support.v4.view.*;
import android.util.*;
import android.view.*;
public class PojavLauncherViewPager extends ViewPager
{
public PojavLauncherViewPager(Context ctx) {
this(ctx, null);
}
public PojavLauncherViewPager(Context ctx, AttributeSet attrs) {
super(ctx, attrs);
setPageTransformer(true, new VerticalPageTransformer());
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
boolean interceped = super.onInterceptTouchEvent(swapXY(ev));
swapXY(ev); // swap x,y back for other touch events.
return interceped;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
return super.onTouchEvent(swapXY(ev));
}
private MotionEvent swapXY(MotionEvent ev) {
float width = getWidth();
float height = getHeight();
float newX = (ev.getY() / height) * width;
float newY = (ev.getX() / width) * height;
ev.setLocation(newX, newY);
return ev;
}
private class VerticalPageTransformer implements PageTransformer {
@Override
public void transformPage(View page, float position) {
if (position < -1) {
page.setVisibility(View.INVISIBLE);
} else if (position <= 1) {
page.setVisibility(View.VISIBLE);
page.setTranslationX(page.getWidth() * -position);
page.setTranslationY(position * page.getHeight());
} else {
page.setVisibility(View.INVISIBLE);
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -18,12 +18,12 @@
android:layout_weight="1.0"
android:orientation="horizontal">
<android.support.design.widget.TabLayout
<net.kdt.pojavlaunch.launcheruiv3.PojavLauncherTabLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/launchermainTabLayout"/>
<android.support.v4.view.ViewPager
<net.kdt.pojavlaunch.launcheruiv3.PojavLauncherViewPager
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"