Git Product home page Git Product logo

jptabbar's People

Contributors

jinjiegu avatar peng8350 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jptabbar's Issues

华为手机 翻转动画不显示

``AnimationType AnimateType = AnimationType.values()[mAttribute.getInt(R.styleable.JPTabBar_TabAnimate, AnimationType.FLIP.ordinal())];

tabBar.setTitles("首页","订单","我的").setNormalIcons(R.drawable.ic_gradienttabstrip_home_normal,R.drawable.ic_gradienttabstrip_order_normal,R.drawable.ic_gradienttabstrip_account_normal)
.setSelectedIcons(R.drawable.ic_gradienttabstrip_home_selected,R.drawable.ic_gradienttabstrip_order_selected,R.drawable.ic_gradienttabstrip_account_selected).generate();
viewPager.setAdapter(adapter);
tabBar.setContainer(viewPager);
tabBar.setDismissListener(this);
//显示圆点模式的徽章
//设置Badge消失的代理
tabBar.setTabListener(this);

能否增加设置属性的方法

比如 TabIconSize 这个目前只能在xml设置,没办法代码设置,目前需求需要根据条件动态初始化图标大小.
其他属性目前没用到,不过如果可以的话能否尽量其他的xml设置的属性也增加对应的方法.
@peng8350

使用1.2.0版本后添加中间按钮后运行后会报错(闪退)

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.haorui.myjptable/com.haorui.myjptable.MainActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class com.jpeng.jptabbar.JPTabBar

Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class com.jpeng.jptabbar.JPTabBar

您给看看啊

<RelativeLayout

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:jp="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.haorui.myjptable.MainActivity">

<com.jpeng.jptabbar.JPTabBar
    android:id="@+id/tabbar"
    android:layout_width="match_parent"
    android:layout_height="56dp"
    android:background="#fff"
    jp:TabTextSize="12sp"
    jp:TabMiddleIcon="@mipmap/ic_launcher"
    />

public class MainActivity extends AppCompatActivity {
@titles
private static final String[] mTitles = {"页面一","页面二","页面三","页面四"};

@SeleIcons
private static final int[] mSeleIcons = {R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher};

@NorIcons
private static final int[] mNormalIcons = {R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher};
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

}

repositories {
jcenter()
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.0'
testCompile 'junit:junit:4.12'
compile 'com.jpeng:JPTabBar:1.2.0'
}

badge显示位置问题

显示的位置目前看到是根据BADGEHORIZONAL_MARGIN参数设置距离右边距的位置,一般badge都是显示在图标右上角的吧.tab宽度是自适应的,在不同分辨率的情况下,根据右边来计算会让badge位置在不同分辨率下有区别.所以显示位置能否改成根据图标来中心位置来计算偏移量.

关于fragment中使用CoordinatorLayout布局出现导航栏文字消失问题

<root>
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".MainActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            />

    </android.support.design.widget.AppBarLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="test1" />

            </LinearLayout>



</android.support.design.widget.CoordinatorLayout>

</root>

在第一个fragment中使用如上布局,则第三个和第四个fragment点击时导航栏的文字会消失,整个底部只有图标
,不知道是不是我的问题,还请赐教

mAttribute recycled

mAttribute存在部分机型被recycled后仍被调用的问题,建议用后直接recycle掉,不要放到onAttachedToWindow里

添加了中间按钮 就闪退

logcat

Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class com.jpeng.jptabbar.JPTabBar

`

<com.jpeng.jptabbar.JPTabBar
    android:id="@+id/jptabbar"
    android:layout_width="match_parent"
    android:layout_height="56dp"
    android:background="@color/white"
    app:TabMiddleBottomDis="14dp"
    app:TabMiddleHMargin="36dp"
    app:TabMiddleIcon="@mipmap/release2"
    app:TabTextSize="12sp" />

<FrameLayout
    android:id="@+id/fl_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
`

java.lang.RuntimeException: Cannot make calls to a recycled instance!

Caused by: java.lang.RuntimeException: Cannot make calls to a recycled instance!
at android.content.res.TypedArray.getColor(TypedArray.java:459)
at com.jpeng.jptabbar.JPTabBar.initFromAttribute(JPTabBar.java:170)
at com.jpeng.jptabbar.JPTabBar.generate(JPTabBar.java:506)

机型:
Android: 8.1.0
Manufacturer: HUAWEI
Model: CLT-AL00

这个是用户使用时触发奔溃的日志,也就这个安卓8.1.0的触发了

打包正式包时,mainactivity已经加上:@Tittles @NorIcons @SelectIcons注解,但还是报错

2020-07-30 10:31:25.433 28258-28258/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.viking, PID: 28258
java.lang.RuntimeException: Unable to start activity ComponentInfo{com./com.shop.activity.MainActivity}: android.view.InflateException: Binary XML file line #19: Binary XML file line #19: Error inflating class com.jpeng.jptabbar.JPTabBar
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2983)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3061)
at android.app.ActivityThread.-wrap12(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1747)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:192)
at android.app.ActivityThread.main(ActivityThread.java:6842)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886)
Caused by: android.view.InflateException: Binary XML file line #19: Binary XML file line #19: Error inflating class com.jpeng.jptabbar.JPTabBar
Caused by: android.view.InflateException: Binary XML file line #19: Error inflating class com.jpeng.jptabbar.JPTabBar
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
at android.view.LayoutInflater.createView(LayoutInflater.java:647)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at androidx.appcompat.app.AppCompatDelegateImpl.B(SourceFile:4)
at androidx.appcompat.app.AppCompatActivity.setContentView(SourceFile:1)
at com.viking.shop.activity.MainActivity.onCreate(SourceFile:2)
at android.app.Activity.performCreate(Activity.java:7066)
at android.app.Activity.performCreate(Activity.java:7057)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1216)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2931)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3061)
at android.app.ActivityThread.-wrap12(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1747)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:192)
at android.app.ActivityThread.main(ActivityThread.java:6842)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886)
Caused by: com.jpeng.jptabbar.TabException: you must set the Titles Annotation and NormalIcon Annotation for the JPTabbar!!!
at com.jpeng.jptabbar.JPTabBar.d(SourceFile:4)
at com.jpeng.jptabbar.JPTabBar.i(SourceFile:30)
at com.jpeng.jptabbar.JPTabBar.h(SourceFile:4)
at com.jpeng.jptabbar.JPTabBar.(SourceFile:4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.