| | |
| | | |
| | | implementation 'androidx.cardview:cardview:1.0.0' |
| | | implementation 'com.google.android.material:material:1.3.0' |
| | | implementation project(path: ':library-base') |
| | | |
| | | compile ('com.android.support:support-v4:23.4.0'){ |
| | | force = true; |
| | |
| | | |
| | | //加载动画库 |
| | | implementation 'com.github.ybq:Android-SpinKit:1.4.0' |
| | | |
| | | implementation 'com.jaeger.statusbarutil:library:1.5.1' |
| | | |
| | | } |
| | | |
| | | android { |
| | |
| | | xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | android:background="@color/theme" |
| | | android:background="@color/white" |
| | | android:orientation="vertical"> |
| | | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:background="@color/top_bar_color" /> |
| | | android:layout_height="@dimen/statusbar_view_height" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | | |
| | |
| | | android:layout_height="match_parent" |
| | | android:orientation="vertical"> |
| | | |
| | | <View |
| | | android:layout_width="match_parent" |
| | | android:layout_height="@dimen/statusbar_view_height"></View> |
| | | |
| | | <RelativeLayout |
| | | android:layout_width="match_parent" |
| | | android:layout_height="48dp" |
| | |
| | | android:layout_alignParentStart="true" |
| | | android:layout_alignParentLeft="true" |
| | | android:layout_centerVertical="true" |
| | | android:drawableStart="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableStart="@drawable/ic_back" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="center_vertical" |
| | | android:padding="8dp" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/white" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/white" /> |
| | | |
| | | |
| | |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:layout_gravity="center_vertical" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="center_vertical" |
| | | android:padding="8dp" |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <ListView |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <FrameLayout |
| | |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:layout_gravity="center_vertical" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="center_vertical" |
| | | android:padding="8dp" |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/white" /> |
| | | |
| | | <FrameLayout |
| | |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:layout_gravity="center_vertical" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="center_vertical" |
| | | android:padding="8dp" |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:background="@color/top_bar_color" /> |
| | | android:background="@color/white" |
| | | android:layout_height="@dimen/statusbar_view_height" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar"></include> |
| | | |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/white" /> |
| | | |
| | | <LinearLayout |
| | |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:layout_gravity="center_vertical" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="center_vertical" |
| | | android:padding="8dp" |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | <include layout="@layout/navigation_top_bar" /> |
| | | |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/white" /> |
| | | |
| | | <LinearLayout |
| | |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:layout_centerVertical="true" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="center" |
| | | android:padding="8dp" /> |
| | |
| | | android:layout_height="match_parent" |
| | | android:orientation="vertical"> |
| | | |
| | | <!-- <View--> |
| | | <!-- android:id="@+id/v_status_bar"--> |
| | | <!-- android:layout_width="match_parent"--> |
| | | <!-- android:layout_height="15dp"--> |
| | | <!-- android:background="@color/top_bar_color" />--> |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="@dimen/statusbar_view_height" /> |
| | | |
| | | <RelativeLayout |
| | | android:layout_width="match_parent" |
| | |
| | | android:layout_alignParentStart="true" |
| | | android:layout_alignParentLeft="true" |
| | | android:layout_centerVertical="true" |
| | | android:drawableStart="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableStart="@drawable/ic_back" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="center_vertical" |
| | | android:padding="8dp" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/white" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/white" |
| | | android:visibility="visible" /> |
| | | |
| | |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:layout_centerVertical="true" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="center" |
| | | android:padding="8dp" /> |
| | |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:layout_centerVertical="true" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="center" |
| | | android:padding="8dp" /> |
| | |
| | | android:layout_alignParentLeft="true" |
| | | android:layout_centerVertical="true" |
| | | android:layout_gravity="left|top" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="center" |
| | | android:padding="8dp" |
| | |
| | | android:layout_height="wrap_content"></FrameLayout> |
| | | |
| | | |
| | | <androidx.swiperefreshlayout.widget.SwipeRefreshLayout |
| | | <com.video.base.ui.subview.MyRefreshLayout |
| | | android:id="@+id/ptsv_container" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="0dp" |
| | |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent"></androidx.recyclerview.widget.RecyclerView> |
| | | |
| | | </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
| | | </com.video.base.ui.subview.MyRefreshLayout> |
| | | |
| | | </LinearLayout> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <TextView |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <RelativeLayout |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | android:layout_height="match_parent" |
| | | android:background="@color/white"> |
| | | |
| | | <androidx.swiperefreshlayout.widget.SwipeRefreshLayout |
| | | <com.video.base.ui.subview.MyRefreshLayout |
| | | android:id="@+id/rl_cate_recommed" |
| | | android:descendantFocusability="blocksDescendants" |
| | | android:layout_width="match_parent" |
| | |
| | | android:id="@+id/rv_category" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent"></androidx.recyclerview.widget.RecyclerView> |
| | | </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
| | | </com.video.base.ui.subview.MyRefreshLayout> |
| | | </FrameLayout> |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" |
| | | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
| | | android:layout_width="match_parent" |
| | | android:orientation="vertical" |
| | | android:layout_height="match_parent"> |
| | | <View |
| | | android:layout_width="match_parent" |
| | | android:layout_height="@dimen/statusbar_view_height"></View> |
| | | |
| | | <com.hanju.video.app.ui.widget.MyRefreshLayout |
| | | <com.video.base.ui.subview.MyRefreshLayout |
| | | android:id="@+id/srl_feed" |
| | | android:layout_width="match_parent" |
| | | android:paddingTop="10dp" |
| | |
| | | |
| | | </FrameLayout> |
| | | |
| | | </com.hanju.video.app.ui.widget.MyRefreshLayout> |
| | | </com.video.base.ui.subview.MyRefreshLayout> |
| | | |
| | | </FrameLayout> |
| | | </LinearLayout> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <TextView |
| | |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:drawableStart="@drawable/ic_back" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="5dp" |
| | | android:gravity="center" |
| | | android:textColor="@color/page_title_text_color" |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/white" /> |
| | | |
| | | <RelativeLayout |
| | |
| | | android:layout_alignParentLeft="true" |
| | | android:layout_centerVertical="true" |
| | | android:layout_marginLeft="5dp" |
| | | android:drawableStart="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableStart="@drawable/ic_back" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="start|center_vertical" |
| | | android:paddingLeft="10dp" /> |
| | |
| | | android:layout_alignParentLeft="true" |
| | | android:layout_centerVertical="true" |
| | | android:layout_marginLeft="5dp" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="center" |
| | | android:padding="8dp" /> |
| | |
| | | android:layout_alignParentLeft="true" |
| | | android:layout_alignParentStart="true" |
| | | android:layout_centerVertical="true" |
| | | android:drawableLeft="@drawable/ic_back_two" |
| | | android:drawableLeft="@drawable/ic_back" |
| | | android:drawablePadding="3dp" |
| | | android:gravity="center" |
| | | android:padding="8dp" /> |
| | |
| | | android:layout_height="match_parent" |
| | | android:descendantFocusability="blocksDescendants"> |
| | | |
| | | <androidx.swiperefreshlayout.widget.SwipeRefreshLayout |
| | | <com.video.base.ui.subview.MyRefreshLayout |
| | | android:id="@+id/rl_recommend" |
| | | android:descendantFocusability="blocksDescendants" |
| | | android:layout_width="match_parent" |
| | |
| | | </androidx.recyclerview.widget.RecyclerView> |
| | | |
| | | |
| | | </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
| | | </com.video.base.ui.subview.MyRefreshLayout> |
| | | |
| | | |
| | | <ImageView |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/white" /> |
| | | |
| | | <LinearLayout |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/white" /> |
| | | |
| | | |
| | |
| | | |
| | | <include layout="@layout/search_result_top_bar" /> |
| | | |
| | | <androidx.swiperefreshlayout.widget.SwipeRefreshLayout |
| | | <com.video.base.ui.subview.MyRefreshLayout |
| | | android:id="@+id/rl_search_result" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="0dp" |
| | |
| | | android:layout_height="wrap_content" |
| | | android:paddingLeft="10dp" |
| | | android:paddingRight="10dp"></androidx.recyclerview.widget.RecyclerView> |
| | | </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
| | | </com.video.base.ui.subview.MyRefreshLayout> |
| | | |
| | | <FrameLayout |
| | | android:id="@+id/fl_advertisement" |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/white" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | android:background="@color/white" |
| | | android:orientation="vertical"> |
| | | |
| | | <androidx.swiperefreshlayout.widget.SwipeRefreshLayout |
| | | <com.video.base.ui.subview.MyRefreshLayout |
| | | android:id="@+id/rl_specific_detail" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent"> |
| | |
| | | android:listSelector="@android:color/transparent" |
| | | android:paddingLeft="10dp" |
| | | android:paddingRight="10dp"></androidx.recyclerview.widget.RecyclerView> |
| | | </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
| | | </com.video.base.ui.subview.MyRefreshLayout> |
| | | |
| | | |
| | | </LinearLayout> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | <include layout="@layout/navigation_top_bar" /> |
| | | |
| | |
| | | |
| | | <include layout="@layout/star_detail_top" /> |
| | | |
| | | <androidx.swiperefreshlayout.widget.SwipeRefreshLayout |
| | | <com.video.base.ui.subview.MyRefreshLayout |
| | | android:id="@+id/rl_detail" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="0dp" |
| | |
| | | android:layout_height="match_parent" |
| | | android:divider="@null" |
| | | android:listSelector="@android:color/transparent"></androidx.recyclerview.widget.RecyclerView> |
| | | </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
| | | </com.video.base.ui.subview.MyRefreshLayout> |
| | | |
| | | </LinearLayout> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | <include layout="@layout/navigation_top_bar" /> |
| | | |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/white" /> |
| | | |
| | | |
| | |
| | | <include layout="@layout/category_top_bar" /> |
| | | </FrameLayout> |
| | | |
| | | <androidx.swiperefreshlayout.widget.SwipeRefreshLayout |
| | | <com.video.base.ui.subview.MyRefreshLayout |
| | | android:id="@+id/rl_category_video" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="0dp" |
| | |
| | | android:layout_height="match_parent" |
| | | android:paddingLeft="3dp" |
| | | android:paddingRight="3dp"></androidx.recyclerview.widget.RecyclerView> |
| | | </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
| | | </com.video.base.ui.subview.MyRefreshLayout> |
| | | |
| | | <ImageView |
| | | android:id="@+id/iv_videosfragment_download_failure" |
| | |
| | | <View |
| | | android:id="@+id/v_status_bar" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="15dp" |
| | | android:layout_height="@dimen/statusbar_view_height" |
| | | android:background="@color/top_bar_color" /> |
| | | |
| | | <include layout="@layout/navigation_top_bar" /> |
New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <resources> |
| | | <dimen name="statusbar_view_height">25dp</dimen> |
| | | </resources> |
| | |
| | | <color name="bg_download_so">#FF987b63</color> |
| | | <color name="page_title_text_color">#FF000000</color> |
| | | |
| | | <color name="colorLoading">#FFFF4D88</color> |
| | | |
| | | </resources> |
| | |
| | | <dimen name="shadow_width">15dp</dimen> |
| | | <dimen name="slidingmenu_offset">80dp</dimen> |
| | | <dimen name="checkmark_area">40dip</dimen> |
| | | |
| | | <dimen name="statusbar_view_height">0dp</dimen> |
| | | </resources> |
| | |
| | | <resources xmlns:android="http://schemas.android.com/apk/res/android"> |
| | | <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> |
| | | |
| | | <!-- |
| | | Base application theme, dependent on API level. This theme is replaced |
| | |
| | | <item name="android:textSize">10sp</item> |
| | | </style> |
| | | <!-- Application theme. --> |
| | | <style name="AppTheme" parent="Theme.MaterialComponents"> |
| | | <style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar"> |
| | | |
| | | <!-- All customizations that are NOT specific to a particular API-level can go here. --> |
| | | <!--半透明 已经删除--> |
| | | <!--<item name="android:windowIsTranslucent">true</item>--> |
| | | <item name="android:windowNoTitle">true</item> |
| | | <item name="android:navigationBarColor">@color/white</item> |
| | | <item name="android:colorControlNormal">@color/white</item> |
| | | <item name="colorAccent">@color/white</item> |
| | | <item name="colorPrimaryDark">@color/white</item> |
| | | <item name="statusBarForeground">@color/transparent</item> |
| | | <item name="statusBarBackground">@color/transparent</item> |
| | | <item name="android:statusBarColor">@color/black</item> |
| | | <item name="colorPrimary">@color/theme</item> |
| | | <item name="colorPrimaryVariant">@color/black</item> |
| | | <item name="colorOnPrimary">@color/black</item> |
| | | |
| | | |
| | | <!-- Secondary brand color. --> |
| | | <item name="colorSecondary">@color/theme</item> |
| | | <item name="colorSecondaryVariant">@color/black</item> |
| | | <item name="colorOnSecondary">@color/black</item> |
| | | <!-- Status bar color. --> |
| | | <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item> |
| | | <!-- Customize your theme here. --> |
| | | <item name="colorPrimaryDark">@color/black</item> |
| | | |
| | | <item name="android:scheme"></item> |
| | | </style> |
| | | |
| | | <style name="AppTabTheme" parent="AppTheme"> |
| | |
| | | <item name="android:textColor">#DCDEEA</item> |
| | | <item name="android:textSize">12sp</item> |
| | | </style> |
| | | |
| | | |
| | | |
| | | <style name="personInfoTitleStyle"> |
| | |
| | | |
| | | public static boolean inited = false; |
| | | |
| | | private static int mStatusBarHeight; |
| | | private static String TAG = "HanJuApplication"; |
| | | |
| | | //兼容4.4以下版本 |
| | |
| | | package com.hanju.video.app.ui; |
| | | |
| | | import android.app.Dialog; |
| | | import android.content.res.Configuration; |
| | | import android.content.res.Resources; |
| | | import android.os.Build; |
| | | import android.graphics.Color; |
| | | import android.os.Bundle; |
| | | |
| | | import com.hanju.video.app.ui.dialog.LoadingDialogUtil; |
| | | import com.jaeger.library.StatusBarUtil; |
| | | |
| | | import androidx.fragment.app.FragmentActivity; |
| | | |
| | | import android.view.Window; |
| | | import android.view.WindowManager; |
| | | //import com.umeng.message.PushAgent; |
| | | |
| | | public class BaseActivity extends FragmentActivity { |
| | | |
| | | protected Dialog loadingDialog; |
| | | |
| | | //显示加载 |
| | | public void showLoading() { |
| | | if (loadingDialog != null && !loadingDialog.isShowing()) { |
| | | loadingDialog.show(); |
| | | } |
| | | } |
| | | |
| | | //隐藏加载 |
| | | public void hideLoading() { |
| | | if (loadingDialog != null && loadingDialog.isShowing()) { |
| | | loadingDialog.dismiss(); |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | protected void onCreate(Bundle arg0) { |
| | | super.onCreate(arg0); |
| | | // setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);// 锁定竖屏 |
| | | // PushAgent.getInstance(this).onAppStart(); |
| | | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { |
| | | Window window = getWindow(); |
| | | window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, |
| | | WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); |
| | | } |
| | | loadingDialog = LoadingDialogUtil.getLoadingDialog(this, ""); |
| | | } |
| | | |
| | | @Override |
| | | public void setContentView(int layoutResID) { |
| | | super.setContentView(layoutResID); |
| | | //状态栏透明 |
| | | StatusBarUtil.setColorNoTranslucent(this, Color.TRANSPARENT); |
| | | //状态栏字体深色 |
| | | StatusBarUtil.setLightMode(this); |
| | | } |
| | | |
| | | @Override |
| | |
| | | import android.content.Context; |
| | | import android.content.SharedPreferences; |
| | | import android.os.Bundle; |
| | | import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; |
| | | import com.video.base.ui.subview.MyRefreshLayout; |
| | | import androidx.recyclerview.widget.LinearLayoutManager; |
| | | import androidx.recyclerview.widget.RecyclerView; |
| | | import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; |
| | | |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.View.OnClickListener; |
| | |
| | | public class SpecificDetailFragment extends RetainViewFragment implements |
| | | OnClickListener { |
| | | private View specifi_detail_top; |
| | | private SwipeRefreshLayout rl_specific_detail; |
| | | private MyRefreshLayout rl_specific_detail; |
| | | private RecyclerView rv_specific_detail; |
| | | private ImageView specific_detail_banner; |
| | | private TextView specific_detail_name, specific_detail_introduction; |
| | |
| | | import android.content.SharedPreferences; |
| | | import android.os.Bundle; |
| | | import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; |
| | | import com.video.base.ui.subview.MyRefreshLayout; |
| | | import androidx.recyclerview.widget.LinearLayoutManager; |
| | | import androidx.recyclerview.widget.RecyclerView; |
| | | import android.view.LayoutInflater; |
| | |
| | | |
| | | public class StarDetailFragment extends RetainViewFragment { |
| | | private View star_Detail_min_Top; |
| | | SwipeRefreshLayout rl_detail; |
| | | MyRefreshLayout rl_detail; |
| | | private RecyclerView rv_Star_Detail; |
| | | private ImageView star_detail_portrait; |
| | | private TextView star_detail_name, star_detail_job, star_detail_country, |
| | |
| | | import android.content.Context; |
| | | import android.content.SharedPreferences; |
| | | import android.os.Bundle; |
| | | |
| | | import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; |
| | | |
| | | import android.view.View; |
| | | import android.widget.LinearLayout; |
| | | import android.widget.ListView; |
| | | import android.widget.ProgressBar; |
| | | import android.widget.TextView; |
| | | |
| | | import com.google.gson.FieldNamingPolicy; |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.GsonBuilder; |
| | | import com.google.gson.reflect.TypeToken; |
| | | import com.hanju.lib.library.util.RefreshLayout; |
| | | import com.hanju.lib.library.util.SingleToast; |
| | | import com.hanju.lib.library.util.common.StringUtils; |
| | | import com.hanju.video.app.R; |
| | | import com.hanju.video.app.entity.user.Attention; |
| | | import com.hanju.video.app.ui.BaseActivity; |
| | | import com.hanju.video.app.util.JsonUtil; |
| | | import com.hanju.video.app.util.http.BasicTextHttpResponseHandler; |
| | | import com.hanju.video.app.util.http.HttpApiUtil; |
| | | import com.hanju.video.app.entity.user.Attention; |
| | | import com.hanju.video.app.ui.BaseActivity; |
| | | import com.hanju.video.app.R; |
| | | import com.hanju.video.app.util.ui.StatusBarUtil; |
| | | |
| | | import org.apache.http.Header; |
| | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; |
| | | |
| | | /** |
| | | * Created by weikou2015 on 2016/8/16. |
| | | */ |
| | |
| | | import com.hanju.video.app.util.common.DimenUtils; |
| | | import com.hanju.video.app.util.ui.DividerItemDecoration; |
| | | import com.hanju.video.app.R; |
| | | import com.video.base.ui.subview.MyRefreshLayout; |
| | | |
| | | import org.apache.http.Header; |
| | | import org.json.JSONObject; |
| | |
| | | |
| | | private VideoColumn2Adapter adapter; |
| | | |
| | | private SwipeRefreshLayout rl_category_video; |
| | | private MyRefreshLayout rl_category_video; |
| | | |
| | | private RecyclerView rv_category_video; |
| | | |
| | |
| | | import android.view.View; |
| | | import android.widget.TextView; |
| | | |
| | | import com.lcjian.library.util.common.StringUtils; |
| | | import com.weikou.beibeivideo.R; |
| | | import com.hanju.lib.library.util.common.StringUtils; |
| | | import com.hanju.video.app.R; |
| | | |
| | | |
| | | /** |
| | | * 用户协议弹框 |
| | |
| | | |
| | | import com.androidquery.AQuery; |
| | | import com.bumptech.glide.Glide; |
| | | import com.hanju.video.app.ui.mine.BrowserActivity; |
| | | import com.hanju.video.app.util.common.PhotoCrop; |
| | | import com.hanju.lib.library.util.Environment; |
| | | import com.hanju.lib.library.util.SingleToast; |
| | | import com.hanju.lib.library.util.common.StringUtils; |
| | | import com.hanju.video.app.util.http.BasicTextHttpResponseHandler; |
| | | import com.hanju.video.app.util.http.HttpApiUtil; |
| | | import com.hanju.video.app.R; |
| | | import com.hanju.video.app.ui.BaseActivity; |
| | | import com.hanju.video.app.ui.dialog.InputTextDialog; |
| | | import com.hanju.video.app.ui.mine.BrowserActivity; |
| | | import com.hanju.video.app.util.HanJuConstant; |
| | | import com.hanju.video.app.util.common.PhotoCrop; |
| | | import com.hanju.video.app.util.http.BasicTextHttpResponseHandler; |
| | | import com.hanju.video.app.util.http.HttpApiUtil; |
| | | import com.hanju.video.app.util.ui.GlideCircleTransform; |
| | | import com.hanju.video.app.R; |
| | | import com.hanju.video.app.util.ui.StatusBarUtil; |
| | | import com.hanju.video.app.util.ui.TopBarUtil; |
| | | |
| | | import org.apache.http.Header; |
| | |
| | | protected void onCreate(Bundle arg0) { |
| | | super.onCreate(arg0); |
| | | setContentView(R.layout.activity_person_info); |
| | | StatusBarUtil.init(this); |
| | | TopBarUtil.init(this, "个人信息", this); |
| | | mAQuery = new AQuery(this); |
| | | tv_top_bar_right = findViewById(R.id.tv_top_bar_right); |
| | |
| | | import com.hanju.video.app.ui.MyRetainViewFragment; |
| | | import com.hanju.video.app.ui.category.MVideosActivity; |
| | | import com.hanju.video.app.ui.recommend.SearchActivity; |
| | | import com.video.base.ui.subview.MyRefreshLayout; |
| | | |
| | | import org.apache.http.Header; |
| | | import org.json.JSONObject; |
| | |
| | | |
| | | FrameLayout fl_ad; |
| | | |
| | | private SwipeRefreshLayout ptsv_container; |
| | | private MyRefreshLayout ptsv_container; |
| | | |
| | | private RecyclerView rv_category; |
| | | |
| | |
| | | import com.bytedance.sdk.dp.DPWidgetGridParams; |
| | | import com.bytedance.sdk.dp.IDPGridListener; |
| | | import com.bytedance.sdk.dp.IDPWidget; |
| | | import com.hanju.lib.library.widget.myswiperefreshlayout.MySwipeRefreshLayout; |
| | | import com.hanju.video.app.R; |
| | | import com.hanju.video.app.ui.MyRetainViewFragment; |
| | | import com.hanju.video.app.ui.widget.MyRefreshLayout; |
| | | import com.hanju.video.app.util.video.DPEventCollectUtil; |
| | | import com.video.base.ui.subview.MyRefreshLayout; |
| | | |
| | | import java.util.Map; |
| | | |
| | | import androidx.fragment.app.Fragment; |
| | | import androidx.fragment.app.FragmentManager; |
| | | |
| | | /** |
| | | * 主页面--抖音视频流 |
| | |
| | | super.onDPRefreshFinish(); |
| | | swipeRefreshLayout.setRefreshing(false); |
| | | } |
| | | |
| | | @Override |
| | | public void onDPVideoPlay(Map<String, Object> map) { |
| | | super.onDPVideoPlay(map); |
| | | } |
| | | |
| | | @Override |
| | | public void onDPVideoOver(Map<String, Object> map) { |
| | | super.onDPVideoOver(map); |
| | | DPEventCollectUtil.playDrawVideo(getContext(), map, "list", false); |
| | | } |
| | | |
| | | @Override |
| | | public void onDPVideoCompletion(Map<String, Object> map) { |
| | | super.onDPVideoCompletion(map); |
| | | DPEventCollectUtil.playDrawVideo(getContext(), map, "list", true); |
| | | } |
| | | }) |
| | | ); |
| | | Fragment fragment = mIDPWidget.getFragment(); |
| | |
| | | import com.bytedance.sdk.dp.IDPWidget; |
| | | import com.hanju.video.app.R; |
| | | import com.hanju.video.app.ui.MyRetainViewFragment; |
| | | import com.hanju.video.app.util.video.DPEventCollectUtil; |
| | | |
| | | import java.util.Map; |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void onDPRelatedNewsClick(Map<String, Object> map) { |
| | | super.onDPRelatedNewsClick(map); |
| | | log("onDPRelatedNewsClick"); |
| | | } |
| | | |
| | | @Override |
| | | public void onDPVideoPlay(Map<String, Object> map) { |
| | | log("onDPVideoPlay"); |
| | | } |
| | |
| | | @Override |
| | | public void onDPNewsDetailEnter(Map<String, Object> map) { |
| | | log("onDPNewsDetailEnter"); |
| | | DPEventCollectUtil.newsDetailEnter(getContext(), map); |
| | | } |
| | | |
| | | @Override |
| | |
| | | import com.bytedance.sdk.dp.IDPWidget; |
| | | import com.hanju.video.app.R; |
| | | import com.hanju.video.app.ui.MyRetainViewFragment; |
| | | import com.hanju.video.app.util.video.DPEventCollectUtil; |
| | | |
| | | import java.util.Map; |
| | | |
| | |
| | | public class DYVideoFragment extends MyRetainViewFragment { |
| | | private static final String TAG = "DYVideoFragment"; |
| | | private IDPWidget mIDPWidget; |
| | | |
| | | |
| | | |
| | | public DYVideoFragment() { |
| | |
| | | @Override |
| | | public void onDPVideoPlay(Map<String, Object> map) { |
| | | log("onDPVideoPlay"); |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | @Override |
| | | public void onDPVideoOver(Map<String, Object> map) { |
| | | log("onDPVideoOver"); |
| | | DPEventCollectUtil.playDrawVideo(getContext(), map, "home", false); |
| | | } |
| | | |
| | | @Override |
| | | public void onDPVideoCompletion(Map<String, Object> map) { |
| | | super.onDPVideoCompletion(map); |
| | | DPEventCollectUtil.playDrawVideo(getContext(), map, "home", true); |
| | | } |
| | | |
| | | @Override |
| | |
| | | homeNav.setName("推荐"); |
| | | homeNav.setDataKey("recommend"); |
| | | homeNav.setDataType("recommend"); |
| | | homeNav.setId("1628826741158"); |
| | | fragments.add(fragments.size() > 0 ? 1 : 0, RecommendFragment.newInstance(homeNav, 0 + "")); |
| | | } |
| | | |
| | |
| | | import android.content.Intent; |
| | | import android.content.SharedPreferences; |
| | | import android.content.pm.ActivityInfo; |
| | | import android.graphics.Color; |
| | | import android.os.Build; |
| | | import android.os.Bundle; |
| | | import android.view.KeyEvent; |
| | |
| | | import android.widget.Toast; |
| | | |
| | | import com.androidquery.AQuery; |
| | | import com.hanju.lib.library.util.FragmentSwitchHelper; |
| | | import com.hanju.lib.library.util.FragmentSwitchHelperV2; |
| | | import com.hanju.video.app.entity.ad.AdPositionEnum; |
| | | import com.hanju.video.app.ui.media.VideoDetailActivity; |
| | | import com.hanju.video.app.util.ad.AdUtil; |
| | | import com.hanju.video.app.util.ad.CSJADConstant; |
| | | import com.hanju.video.app.util.ad.FullVideoAdManager; |
| | | import com.hanju.video.app.util.ad.GDTADConstant; |
| | | import com.hanju.video.app.util.ad.IntertitialAdUtil; |
| | | import com.jaeger.library.StatusBarUtil; |
| | | import com.umeng.socialize.UMShareAPI; |
| | | import com.hanju.video.app.R; |
| | | import com.hanju.video.app.ui.BaseActivity; |
| | | import com.hanju.video.app.ui.mine.BrowserActivity; |
| | | import com.hanju.video.app.util.HanJuConstant; |
| | | import com.hanju.video.app.util.ui.ExitDialog; |
| | | import com.hanju.video.app.util.ui.StatusBarUtil; |
| | | import com.hanju.update.appupdate.AppUpdate; |
| | | import com.video.youth.util.YouthUtil; |
| | | |
| | |
| | | |
| | | preferences = getSharedPreferences("user", |
| | | Context.MODE_PRIVATE); |
| | | // StatusBarUtil.init(this); |
| | | |
| | | rg_nav = findViewById(R.id.rg_nav); |
| | | rg_nav.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { |
| | |
| | | import com.bytedance.novel.pangolin.NovelSDK; |
| | | import com.hanju.video.app.R; |
| | | import com.hanju.video.app.ui.MyRetainViewFragment; |
| | | import com.hanju.video.app.util.video.DPEventCollectUtil; |
| | | |
| | | import androidx.annotation.NonNull; |
| | | import androidx.fragment.app.FragmentManager; |
| | |
| | | @Override |
| | | public void onCreate(Bundle savedInstanceState) { |
| | | super.onCreate(savedInstanceState); |
| | | Log.i(TAG,"onCreate"); |
| | | Log.i(TAG, "onCreate"); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | public void onCreateView(View contentView, Bundle savedInstanceState) { |
| | | Log.i(TAG,"onCreateView"); |
| | | Log.i(TAG, "onCreateView"); |
| | | getChildFragmentManager().beginTransaction().replace(R.id.fl_container, NovelSDK.INSTANCE.getNovelFragment(), "novel").commitAllowingStateLoss(); |
| | | } |
| | | |
| | |
| | | @Override |
| | | public void onResume() { |
| | | super.onResume(); |
| | | Log.i(TAG,"onResume"); |
| | | Log.i(TAG, "onResume"); |
| | | NovelSDK.INSTANCE.getNovelFragment().onResume(); |
| | | DPEventCollectUtil.uploadNovelReadTime(getContext()); |
| | | } |
| | | |
| | | @Override |
| | | public void onPause() { |
| | | super.onPause(); |
| | | Log.i(TAG,"onPause"); |
| | | Log.i(TAG, "onPause"); |
| | | NovelSDK.INSTANCE.getNovelFragment().onPause(); |
| | | } |
| | | |
| | | @Override |
| | | public void onDestroy() { |
| | | super.onDestroy(); |
| | | Log.i(TAG,"onDestroy"); |
| | | Log.i(TAG, "onDestroy"); |
| | | NovelSDK.INSTANCE.getNovelFragment().onDestroy(); |
| | | } |
| | | |
| | |
| | | @Override |
| | | public void onDetach() { |
| | | super.onDetach(); |
| | | Log.i(TAG,"onDetach"); |
| | | Log.i(TAG, "onDetach"); |
| | | } |
| | | |
| | | @Override |
| | | public void onAttach(@NonNull Context context) { |
| | | super.onAttach(context); |
| | | Log.i(TAG,"onAttach"); |
| | | Log.i(TAG, "onAttach"); |
| | | } |
| | | |
| | | @Override |
| | | public void onHiddenChanged(boolean hidden) { |
| | | super.onHiddenChanged(hidden); |
| | | Log.i(TAG,"onHiddenChanged:"+hidden); |
| | | Log.i(TAG, "onHiddenChanged:" + hidden); |
| | | } |
| | | |
| | | @Override |
| | | public void setUserVisibleHint(boolean isVisibleToUser) { |
| | | super.setUserVisibleHint(isVisibleToUser); |
| | | Log.i(TAG, "setUserVisibleHint:" + isVisibleToUser); |
| | | } |
| | | } |
| | |
| | | |
| | | import com.hanju.lib.library.util.FragmentSwitchHelper; |
| | | import com.hanju.video.app.R; |
| | | import com.hanju.video.app.ui.BaseActivity; |
| | | import com.hanju.video.app.ui.recent.DownloadAdapter2; |
| | | import com.hanju.video.app.ui.recent.OfflineCacheFragment2; |
| | | import com.hanju.video.app.ui.recent.WatchHistoryFragment; |
| | | |
| | | public class DownloadActivity extends FragmentActivity implements |
| | | public class DownloadActivity extends BaseActivity implements |
| | | DownloadAdapter2.IGetDeleteCallback, OnClickListener { |
| | | private FragmentSwitchHelper mFragmentSwitchHelper; |
| | | |
| | |
| | | |
| | | import com.hanju.lib.library.util.FragmentSwitchHelper; |
| | | import com.hanju.video.app.R; |
| | | import com.hanju.video.app.ui.BaseActivity; |
| | | import com.hanju.video.app.ui.recent.DownloadAdapter2; |
| | | import com.hanju.video.app.ui.recent.OfflineCacheFragment2; |
| | | import com.hanju.video.app.ui.recent.WatchHistoryFragment; |
| | | |
| | | public class WatchHistoryActivity extends FragmentActivity implements |
| | | public class WatchHistoryActivity extends BaseActivity implements |
| | | DownloadAdapter2.IGetDeleteCallback, OnClickListener { |
| | | |
| | | private FragmentSwitchHelper mFragmentSwitchHelper; |
| | |
| | | super.onCreate(arg0); |
| | | |
| | | setContentView(R.layout.activity_watch_history); |
| | | // StatusBarUtil.init(this); |
| | | WatchHistoryFragment historyFragment = new WatchHistoryFragment(); |
| | | historyFragment.setDeleteCallback(this); |
| | | mFragmentSwitchHelper = FragmentSwitchHelper.create( |
| | |
| | | import com.hanju.video.app.entity.video.VideoType; |
| | | import com.hanju.video.app.ui.category.CategoryRecommendAdapter; |
| | | import com.hanju.video.app.util.common.DimenUtils; |
| | | import com.video.base.ui.subview.MyRefreshLayout; |
| | | |
| | | import org.apache.http.Header; |
| | | import org.json.JSONObject; |
| | |
| | | |
| | | private String id; |
| | | |
| | | private SwipeRefreshLayout rl_cate_recommed; |
| | | private MyRefreshLayout rl_cate_recommed; |
| | | |
| | | private List<VideoInfo> mVideoInfos = new ArrayList<>(); |
| | | |
| | |
| | | import com.hanju.video.app.util.ui.GlideUtil; |
| | | import com.hanju.update.appupdate.GoReview; |
| | | import com.hanju.update.appupdate.service.DownLoadFileService; |
| | | import com.video.base.ui.subview.MyRefreshLayout; |
| | | import com.video.youth.entity.YouthModeChange; |
| | | import com.video.youth.util.YouthUtil; |
| | | |
| | |
| | | public class RecommendFragment extends RetainViewFragment implements |
| | | OnClickListener { |
| | | |
| | | private SwipeRefreshLayout rl_recommend; |
| | | private MyRefreshLayout rl_recommend; |
| | | |
| | | private RecyclerView rv_recommend; |
| | | |
| | |
| | | import com.hanju.video.app.util.JsonUtil; |
| | | import com.hanju.video.app.util.ad.AdUtil; |
| | | import com.hanju.video.app.util.ad.ExpressAdManager; |
| | | import com.hanju.video.app.util.video.DPEventCollectUtil; |
| | | import com.hanju.video.app.util.video.VideoUtil; |
| | | |
| | | import java.text.DecimalFormat; |
| | |
| | | @Override |
| | | public void onDPVideoPlay(Map<String, Object> map) { |
| | | log("onDPVideoPlay map = " + map.toString()); |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | @Override |
| | | public void onDPVideoOver(Map<String, Object> map) { |
| | | log("onDPVideoOver map = " + map.toString()); |
| | | DPEventCollectUtil.playDrawVideo(mContext, map, "recommend",false); |
| | | } |
| | | |
| | | @Override |
| | | public void onDPVideoCompletion(Map<String, Object> map) { |
| | | log("onDPVideoCompletion map = " + map.toString()); |
| | | DPEventCollectUtil.playDrawVideo(mContext, map, "recommend",true); |
| | | } |
| | | }) |
| | | .dislikeListener(mContext, new DPWidgetVideoCardParams.IDislikeListener() { |
| | |
| | | import com.hanju.video.app.util.ui.DividerItemDecoration; |
| | | import com.hanju.video.app.R; |
| | | import com.hanju.video.app.util.ui.StatusBarUtil; |
| | | import com.video.base.ui.subview.MyRefreshLayout; |
| | | |
| | | import org.apache.http.Header; |
| | | import org.json.JSONObject; |
| | |
| | | |
| | | private boolean mFirst = true; |
| | | |
| | | private SwipeRefreshLayout rl_search_result; |
| | | private MyRefreshLayout rl_search_result; |
| | | |
| | | private ExpressAdManager expressAdManager; |
| | | |
| | |
| | | import com.ut.device.UTDevice; |
| | | import com.video.youth.util.YouthUtil; |
| | | |
| | | import org.apache.http.Header; |
| | | import org.json.JSONObject; |
| | | |
| | | import java.io.File; |
| | | import java.io.FileNotFoundException; |
| | | import java.util.HashMap; |
| | |
| | | commonPost(context, BASE_URL_V2 + "search", params, handler); |
| | | } |
| | | |
| | | /*************事件上报**************/ |
| | | |
| | | public static void readNews(Context context, ResponseHandlerInterface handler) { |
| | | LinkedHashMap<String, String> params = new LinkedHashMap<String, String>(); |
| | | if (UserUtil.getUid(context) != null) |
| | | params.put("Uid", UserUtil.getUid(context)); |
| | | String loginUid = UserUtil.getLoginUid(context); |
| | | if (loginUid != null) { |
| | | params.put("LoginUid", loginUid); |
| | | } |
| | | commonPost(context, BASE_URL_V2 + "event/readNews", params, handler); |
| | | } |
| | | |
| | | |
| | | public static void playDrawVideo(Context context, String from, boolean finish, ResponseHandlerInterface handler) { |
| | | LinkedHashMap<String, String> params = new LinkedHashMap<String, String>(); |
| | | if (UserUtil.getUid(context) != null) |
| | | params.put("Uid", UserUtil.getUid(context)); |
| | | String loginUid = UserUtil.getLoginUid(context); |
| | | if (loginUid != null) { |
| | | params.put("LoginUid", loginUid); |
| | | } |
| | | params.put("From", from); |
| | | params.put("Finish", finish + ""); |
| | | commonPost(context, BASE_URL_V2 + "event/playDrawVideo", params, handler); |
| | | } |
| | | |
| | | public static void readNovel(Context context, long duration) { |
| | | LinkedHashMap<String, String> params = new LinkedHashMap<String, String>(); |
| | | String loginUid = UserUtil.getLoginUid(context); |
| | | if (loginUid != null) { |
| | | params.put("LoginUid", loginUid); |
| | | } |
| | | params.put("Duration", duration + ""); |
| | | commonPost(context, BASE_URL_V2 + "event/readNovel", params, new BasicTextHttpResponseCallback() { |
| | | @Override |
| | | public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | public static LinkedHashMap<String, String> validateParams( |
| | | LinkedHashMap<String, String> params, Context context) { |
| | |
| | | package com.hanju.video.app.util.ui; |
| | | |
| | | import android.app.Activity; |
| | | import android.graphics.Color; |
| | | import android.os.Build; |
| | | import android.view.View; |
| | | import android.widget.LinearLayout; |
| | |
| | | public class StatusBarUtil { |
| | | |
| | | public static void init(Activity context) { |
| | | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { |
| | | int result = 0; |
| | | int resourceId = context.getResources().getIdentifier("status_bar_height", |
| | | "dimen", "android"); |
| | | if (resourceId > 0) { |
| | | result = context.getResources().getDimensionPixelSize(resourceId); |
| | | } |
| | | LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, |
| | | result); |
| | | if (context.findViewById(R.id.v_status_bar) != null) |
| | | context.findViewById(R.id.v_status_bar).setLayoutParams(params); |
| | | } else { |
| | | if (context.findViewById(R.id.v_status_bar) != null) |
| | | context.findViewById(R.id.v_status_bar).setVisibility(View.GONE); |
| | | } |
| | | |
| | | com.jaeger.library.StatusBarUtil.setColorNoTranslucent(context, Color.TRANSPARENT); |
| | | //状态栏字体深色 |
| | | com.jaeger.library.StatusBarUtil.setLightMode(context); |
| | | } |
| | | |
| | | public static int getStatusBarHeight(Activity context) { |
New file |
| | |
| | | package com.hanju.video.app.util.video; |
| | | |
| | | import android.content.Context; |
| | | |
| | | import com.bytedance.novel.pangolin.NovelSDK; |
| | | import com.hanju.video.app.util.http.BasicTextHttpResponseHandler; |
| | | import com.hanju.video.app.util.http.HttpApiUtil; |
| | | |
| | | import org.apache.http.Header; |
| | | import org.json.JSONObject; |
| | | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 抖音信息收集 |
| | | */ |
| | | public class DPEventCollectUtil { |
| | | |
| | | |
| | | /** |
| | | * 沉浸式视频播放 |
| | | * |
| | | * @param context |
| | | * @param from |
| | | */ |
| | | public static void playDrawVideo(Context context, Map<String, Object> map, String from,boolean complete) { |
| | | HttpApiUtil.playDrawVideo(context, from,complete, new BasicTextHttpResponseHandler() { |
| | | @Override |
| | | public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 上传小说阅读时间 |
| | | * |
| | | * @param context |
| | | */ |
| | | public static void uploadNovelReadTime(Context context) { |
| | | long time = NovelSDK.INSTANCE.getNovelReadingDuration(); |
| | | if (time <= 0) |
| | | return; |
| | | HttpApiUtil.readNovel(context, time); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 进入详情 |
| | | * |
| | | * @param context |
| | | * @param map |
| | | */ |
| | | public static void newsDetailEnter(Context context, Map<String, Object> map) { |
| | | HttpApiUtil.readNews(context, new BasicTextHttpResponseHandler() { |
| | | @Override |
| | | public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | api files('libs/tbs_sdk_thirdapp_v4.3.0.185_44085.jar') |
| | | |
| | | |
| | | //statusbar工具,https://gitcode.net/mirrors/laobie/statusbarutil |
| | | api 'com.jaeger.statusbarutil:library:1.5.1' |
| | | |
| | | } |
| | |
| | | |
| | | import android.content.res.Configuration; |
| | | import android.content.res.Resources; |
| | | import android.graphics.Color; |
| | | import android.os.Build; |
| | | import android.os.Bundle; |
| | | import android.view.Window; |
| | | import android.view.WindowManager; |
| | | |
| | | import com.jaeger.library.StatusBarUtil; |
| | | |
| | | import androidx.fragment.app.FragmentActivity; |
| | | //import com.umeng.message.PushAgent; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void setContentView(int layoutResID) { |
| | | super.setContentView(layoutResID); |
| | | //状态栏透明 |
| | | StatusBarUtil.setColorNoTranslucent(this, Color.TRANSPARENT); |
| | | //状态栏字体深色 |
| | | StatusBarUtil.setLightMode(this); |
| | | } |
| | | |
| | | @Override |
| | | public Resources getResources() { |
| | | Resources res = super.getResources(); |
| | | if (res.getConfiguration().fontScale != 1.0) {//非默认值 |
New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <resources> |
| | | <dimen name="statusbar_view_height">25dp</dimen> |
| | | </resources> |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <resources> |
| | | <color name="page_nav_text_color"> |
| | | #000000 |
| | | </color> |
| | | <color name="page_nav_bg_color"> |
| | | #FFFFFF |
| | | </color> |
| | | |
| | | |
| | | <color name="refresh_color"> |
| | | #FFFF4D88 |
| | | </color> |
| | | </resources> |
New file |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <resources> |
| | | <dimen name="statusbar_view_height">0dp</dimen> |
| | | </resources> |
| | |
| | | |
| | | import android.content.Context; |
| | | import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; |
| | | |
| | | import android.graphics.Color; |
| | | import android.util.AttributeSet; |
| | | import android.util.Log; |
| | | import android.view.LayoutInflater; |
| | |
| | | mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); |
| | | mListViewFooter = LayoutInflater.from(context).inflate(R.layout.listview_footer, null, |
| | | false); |
| | | setColorSchemeColors(Color.parseColor("#FFFF4D88")); |
| | | } |
| | | |
| | | public void setFooter(View view) { |
| | |
| | | import android.Manifest; |
| | | import android.content.Intent; |
| | | import android.content.pm.PackageManager; |
| | | import android.graphics.Color; |
| | | import android.graphics.PixelFormat; |
| | | import android.net.Uri; |
| | | import android.os.Bundle; |
| | |
| | | |
| | | import com.hanju.lib.library.util.common.ClipboardUtil; |
| | | import com.hanju.update.appupdate.util.StringUtils; |
| | | import com.jaeger.library.StatusBarUtil; |
| | | import com.tencent.smtt.export.external.interfaces.SslError; |
| | | import com.tencent.smtt.export.external.interfaces.SslErrorHandler; |
| | | import com.tencent.smtt.export.external.interfaces.WebResourceRequest; |
| | |
| | | super.onCreate(savedInstanceState); |
| | | getWindow().setFormat(PixelFormat.TRANSLUCENT); |
| | | setContentView(R.layout.activity_browser_youth); |
| | | //状态栏透明 |
| | | StatusBarUtil.setColorNoTranslucent(this, Color.TRANSPARENT); |
| | | //状态栏字体深色 |
| | | StatusBarUtil.setLightMode(this); |
| | | tv_top_bar_left = findViewById(R.id.tv_left); |
| | | tv_top_bar_middle = findViewById(R.id.tv_middle); |
| | | |
| | |
| | | |
| | | import android.app.Activity; |
| | | import android.content.Intent; |
| | | import android.graphics.Color; |
| | | import android.os.Bundle; |
| | | import android.view.View; |
| | | import android.view.View.OnClickListener; |
| | | import android.widget.Toast; |
| | | |
| | | import com.androidquery.AQuery; |
| | | import com.jaeger.library.StatusBarUtil; |
| | | import com.video.youth.util.YouthUtil; |
| | | import com.video.youth.R; |
| | | |
| | |
| | | protected void onCreate(Bundle savedInstanceState) { |
| | | super.onCreate(savedInstanceState); |
| | | setContentView(R.layout.activity_youth); |
| | | //状态栏透明 |
| | | StatusBarUtil.setColorNoTranslucent(this, Color.TRANSPARENT); |
| | | //状态栏字体深色 |
| | | StatusBarUtil.setLightMode(this); |
| | | |
| | | initView(); |
| | | } |
| | | |
| | |
| | | |
| | | import android.app.Activity; |
| | | import android.content.Intent; |
| | | import android.graphics.Color; |
| | | import android.os.Bundle; |
| | | import android.view.View; |
| | | import android.view.View.OnClickListener; |
| | | import android.widget.Toast; |
| | | |
| | | import com.androidquery.AQuery; |
| | | import com.jaeger.library.StatusBarUtil; |
| | | import com.video.youth.ui.subview.VerifyCodeViewShowLine; |
| | | import com.video.youth.util.YouthUtil; |
| | | import com.video.youth.R; |
| | |
| | | protected void onCreate(Bundle savedInstanceState) { |
| | | super.onCreate(savedInstanceState); |
| | | setContentView(R.layout.activity_youth_password); |
| | | //状态栏透明 |
| | | StatusBarUtil.setColorNoTranslucent(this, Color.TRANSPARENT); |
| | | //状态栏字体深色 |
| | | StatusBarUtil.setLightMode(this); |
| | | initView(); |
| | | init(); |
| | | } |
| | |
| | | android:layout_height="match_parent" |
| | | android:orientation="vertical"> |
| | | |
| | | <View |
| | | android:layout_width="match_parent" |
| | | android:layout_height="@dimen/statusbar_view_height"></View> |
| | | |
| | | <include layout="@layout/item_nav"></include> |
| | | |
| | |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | android:orientation="vertical"> |
| | | |
| | | <View |
| | | android:layout_width="match_parent" |
| | | android:layout_height="@dimen/statusbar_view_height"></View> |
| | | |
| | | <include layout="@layout/item_nav"></include> |
| | | |
| | |
| | | android:layout_height="match_parent" |
| | | android:background="#FFFFFF" |
| | | android:orientation="vertical"> |
| | | |
| | | <View |
| | | android:layout_width="match_parent" |
| | | android:layout_height="@dimen/statusbar_view_height"></View> |
| | | |
| | | <include layout="@layout/item_nav"></include> |
| | | |
| | |
| | | android:id="@+id/fl_nav" |
| | | android:layout_width="match_parent" |
| | | android:layout_height="match_parent" |
| | | android:background="#010101" |
| | | android:background="@color/page_nav_bg_color" |
| | | android:gravity="center_vertical"> |
| | | |
| | | |
| | |
| | | android:ellipsize="end" |
| | | android:maxLength="10" |
| | | android:textAppearance="?android:attr/textAppearanceLarge" |
| | | android:textColor="#ffffffff" /> |
| | | android:textColor="@color/page_nav_text_color" /> |
| | | |
| | | |
| | | </FrameLayout> |