BuWanVideo/res/drawable-xhdpi/ic_category.pngBuWanVideo/res/drawable-xhdpi/ic_category_highlight.pngBuWanVideo/res/drawable-xhdpi/ic_discover.pngBuWanVideo/res/drawable-xhdpi/ic_discover_highlight.pngBuWanVideo/res/drawable-xhdpi/ic_guess_like.pngBuWanVideo/res/drawable-xhdpi/ic_guess_like_highlight.pngBuWanVideo/res/drawable-xhdpi/ic_history_delete.png
BuWanVideo/res/drawable-xhdpi/ic_home_type_more.pngBuWanVideo/res/drawable-xhdpi/ic_mine.pngBuWanVideo/res/drawable-xhdpi/ic_mine_about_us_w.png
BuWanVideo/res/drawable-xhdpi/ic_mine_bg_white.png
BuWanVideo/res/drawable-xhdpi/ic_mine_help_w.png
BuWanVideo/res/drawable-xhdpi/ic_mine_highlight.pngBuWanVideo/res/drawable-xhdpi/ic_mine_message_w.png
BuWanVideo/res/drawable-xhdpi/ic_mine_settings_w.png
BuWanVideo/res/drawable-xhdpi/ic_mine_share_w.png
BuWanVideo/res/drawable-xhdpi/ic_recommend.pngBuWanVideo/res/drawable-xhdpi/ic_recommend_highlight.pngBuWanVideo/res/drawable-xhdpi/icon_item_refresh.png
BuWanVideo/res/drawable-xhdpi/icon_suggest_search.png
BuWanVideo/res/drawable-xhdpi/icon_suggest_search_input.png
BuWanVideo/res/drawable/shape_item_tag_bg.xml
New file @@ -0,0 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="5dp" /> <solid android:color="@color/item_more_bg_color" /> <corners android:radius="15dp" /> </shape> BuWanVideo/res/drawable/shape_login_btn_bg.xml
@@ -4,7 +4,7 @@ <corners android:radius="20dp" > </corners> <solid android:color="#656565" > <solid android:color="@color/btn_bg_color" > </solid> </shape> BuWanVideo/res/drawable/shape_mine_functions_bg.xml
@@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#ff1b1b1b" /> <solid android:color="@color/mine_item_container_bg_color" /> <corners android:radius="5dp" /> </shape> BuWanVideo/res/drawable/shape_search_history_item_bg.xml
New file @@ -0,0 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/search_item_bg_color"></solid> <corners android:radius="20dp"></corners> </shape> BuWanVideo/res/drawable/shape_video_big_tag_bg.xml
New file @@ -0,0 +1,16 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:angle="0" android:endColor="#00000000" android:startColor="#ff000000" android:type="linear" android:useLevel="true" /> <corners android:bottomLeftRadius="8dp" android:bottomRightRadius="8dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> </shape> BuWanVideo/res/drawable/shape_video_list_cover_placeholder.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="6dp" /> <solid android:color="#dedede" /> </shape> BuWanVideo/res/drawable/shape_video_small_tag_bg.xml
New file @@ -0,0 +1,16 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:angle="90" android:endColor="#00000000" android:startColor="#ff000000" android:type="linear" android:useLevel="true" /> <corners android:bottomLeftRadius="6dp" android:bottomRightRadius="6dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> </shape> BuWanVideo/res/layout/act_login.xml
@@ -5,11 +5,7 @@ android:background="#F1F1F1" 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" /> <include layout="@layout/view_status_bar" /> <FrameLayout android:layout_width="match_parent" BuWanVideo/res/layout/category_fragment.xml
@@ -2,7 +2,7 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/theme" android:background="@color/page_content_bg_color" android:orientation="vertical"> <include layout="@layout/no_network" /> BuWanVideo/res/layout/category_item.xml
@@ -19,6 +19,6 @@ android:layout_gravity="center_horizontal" android:text="asdas" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#C1C1C1" /> android:textColor="@color/item_title_text_color" /> </LinearLayout> BuWanVideo/res/layout/fragment_search_suggest.xml
New file @@ -0,0 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/transparent"> <android.support.v7.widget.RecyclerView android:id="@+id/rv_suggest" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="18dp" android:background="#DFDFDF"></android.support.v7.widget.RecyclerView> </FrameLayout> BuWanVideo/res/layout/item_movie.xml
@@ -25,7 +25,7 @@ android:id="@+id/iv_movie_cover" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" /> android:scaleType="fitXY" /> <ImageView android:id="@+id/iv_vip" @@ -33,6 +33,14 @@ android:layout_height="17.5dp" android:layout_gravity="top|right" android:src="@drawable/icon_video_vip" /> <ImageView android:id="@+id/iv_high" android:layout_width="29dp" android:layout_height="17dp" android:layout_gravity="top|left" android:src="@drawable/icon_high" android:visibility="gone" /> <ImageView android:id="@+id/iv_spread" @@ -43,35 +51,43 @@ android:visibility="gone" /> <TextView android:id="@+id/tv_tag" style="@style/TextWhiteSmall" <LinearLayout android:paddingBottom="5dp" android:paddingTop="10dp" android:paddingLeft="5dp" android:paddingRight="5dp" android:id="@+id/ll_tag_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="left|bottom" android:ellipsize="end" android:gravity="end" android:paddingLeft="8dp" android:paddingRight="8dp" android:singleLine="true" android:textColor="@color/video_list_tag_text_color" android:textSize="@dimen/video_list_tag" /> android:layout_gravity="bottom" android:background="@drawable/shape_video_small_tag_bg" android:gravity="bottom" android:orientation="horizontal"> <TextView android:id="@+id/tv_tag" style="@style/TextWhiteSmall" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:ellipsize="end" android:singleLine="true" android:textColor="@color/video_list_tag_text_color" android:textSize="@dimen/video_list_tag" /> <TextView android:id="@+id/tv_score" style="@style/TextWhiteSmall" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="left|bottom" android:ellipsize="end" android:gravity="end" android:paddingLeft="8dp" android:paddingRight="8dp" android:singleLine="true" android:textColor="@color/video_list_tag_text_color" android:textSize="@dimen/video_list_tag" /> <TextView android:id="@+id/tv_score" style="@style/TextWhiteSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:singleLine="true" android:textColor="@color/video_list_score_text_color" android:textSize="@dimen/video_list_tag" /> </LinearLayout> <ImageView android:id="@+id/iv_ad_logo" @@ -88,8 +104,9 @@ style="@style/TextBlackSmall" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5.5dp" android:ellipsize="end" android:lines="2" android:lines="1" android:paddingRight="8dp" android:textColor="@color/video_list_title_text_color" android:textSize="@dimen/video_list_title" /> @@ -97,14 +114,10 @@ <TextView android:id="@+id/tv_subtitle" android:layout_width="wrap_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical|left" android:drawableLeft="@drawable/ic_play_num" android:drawablePadding="8dp" android:ellipsize="end" android:gravity="center_vertical|left" android:paddingLeft="8dp" android:lines="1" android:paddingRight="8dp" android:singleLine="true" android:textColor="@color/video_list_subtitle_text_color" BuWanVideo/res/layout/item_recommend_home_type.xml
@@ -15,46 +15,44 @@ android:layout_height="wrap_content" android:orientation="vertical"> <RelativeLayout android:id="@+id/rl_title_item" <LinearLayout android:id="@+id/ll_title_item" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:padding="8dp"> <ImageView android:id="@+id/tv_category_icon" android:layout_width="20dp" android:layout_height="20dp" android:layout_alignParentStart="true" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_marginRight="5dp" android:src="@drawable/recommend_left" android:visibility="gone" /> android:paddingBottom="8dp" android:layout_marginLeft="4dp" android:paddingTop="8dp"> <TextView android:id="@+id/tv_category_name" android:layout_width="wrap_content" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_toRightOf="@id/tv_category_icon" android:layout_weight="1" android:text="什么鬼" android:textColor="@color/item_title_text_color" android:textSize="@dimen/video_album_title" /> android:textSize="16sp" /> <TextView android:id="@+id/tv_category_name2" style="@style/TextBuleSmall" android:visibility="gone" android:id="@+id/tv_tag_refresh" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginLeft="10dp" android:layout_toRightOf="@id/tv_category_name" android:drawableLeft="@drawable/recommend_left" android:visibility="gone" /> android:background="@drawable/shape_item_tag_bg" android:drawableLeft="@drawable/icon_item_refresh" android:drawablePadding="6.5dp" android:paddingLeft="12dp" android:paddingTop="5dp" android:paddingRight="12dp" android:paddingBottom="5dp" android:text="换一批" android:textColor="@color/item_tag_text_color" android:textSize="10sp" /> <TextView android:id="@+id/tv_more" @@ -63,14 +61,17 @@ android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:background="@drawable/shape_item_tag_bg" android:drawableRight="@drawable/ic_home_type_more" android:drawablePadding="5dp" android:paddingLeft="8dp" android:paddingTop="3dp" android:paddingBottom="3dp" android:textColor="@color/white" android:textSize="12sp" /> </RelativeLayout> android:drawablePadding="6.5dp" android:paddingLeft="12dp" android:paddingTop="5dp" android:paddingRight="8dp" android:paddingBottom="5dp" android:text="更多免费热剧" android:textColor="@color/item_tag_text_color" android:textSize="10sp" /> </LinearLayout> <android.support.v7.widget.RecyclerView @@ -80,6 +81,27 @@ android:paddingLeft="3dp" android:paddingRight="3dp"></android.support.v7.widget.RecyclerView> <TextView android:layout_gravity="center_horizontal" android:id="@+id/tv_refresh" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:background="@drawable/shape_item_tag_bg" android:drawableLeft="@drawable/icon_item_refresh" android:drawablePadding="6.5dp" android:paddingLeft="12dp" android:paddingTop="5dp" android:paddingRight="12dp" android:paddingBottom="5dp" android:text="换一批" android:visibility="gone" android:textColor="@color/item_tag_text_color" android:textSize="10sp" /> </LinearLayout> BuWanVideo/res/layout/item_recommend_home_type_ad.xml
@@ -2,7 +2,7 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/theme" android:background="@color/home_page_bg_color" android:orientation="vertical"> <LinearLayout BuWanVideo/res/layout/item_search_suggest.xml
New file @@ -0,0 +1,23 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="54dp" android:orientation="horizontal"> <TextView android:id="@+id/tv_content" android:layout_width="match_parent" android:layout_height="54dp" android:background="@color/page_content_bg_color" android:drawableLeft="@drawable/icon_suggest_search" android:drawableRight="@drawable/icon_suggest_search_input" android:drawablePadding="17dp" android:ellipsize="end" android:gravity="center_vertical|left" android:lines="1" android:textColor="@color/search_input_text_color" android:textSize="15sp"></TextView> </LinearLayout> BuWanVideo/res/layout/mine_fragment.xml
@@ -13,7 +13,7 @@ android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:background="@color/theme"> android:background="@color/page_bg_color"> <LinearLayout android:layout_width="match_parent" @@ -24,80 +24,209 @@ <com.lcjian.library.widget.RatioLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:ratio="0.4562"> app:ratio="0.6556"> <LinearLayout android:id="@+id/mine_rl_head" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/ic_mine_bg" android:background="@drawable/ic_mine_bg_white" android:orientation="vertical" android:paddingLeft="35dp" android:paddingTop="40dp" android:paddingRight="12dp" android:paddingBottom="20dp"> <LinearLayout android:layout_width="wrap_content" android:id="@+id/mine_rl_head" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal"> <FrameLayout android:layout_width="55dp" android:layout_height="55dp" android:background="@drawable/shape_mine_portrait_bg"> <ImageView android:id="@+id/mine_ci_head" android:layout_width="50dp" android:layout_height="50dp" android:layout_gravity="center" android:src="@drawable/img_head_portrait" /> </FrameLayout> android:orientation="vertical" android:paddingLeft="35dp" android:paddingRight="12dp"> <TextView android:id="@+id/mine_tv_login" android:layout_width="135dp" android:layout_height="wrap_content" android:layout_marginLeft="27dp" android:background="@drawable/shape_login_btn_bg" android:ellipsize="end" android:gravity="center_horizontal" android:maxEms="4" android:maxLines="1" android:paddingTop="7.5dp" android:paddingBottom="7.5dp" android:text="@string/activity_main_login" android:textColor="@color/yellow" android:textSize="15sp" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:layout_marginBottom="10dp" android:gravity="center_vertical|left"> <TextView android:id="@+id/mine_tv_name" <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ffdcdcdc" android:textSize="18sp" android:visibility="gone" /> android:gravity="center_vertical" android:orientation="horizontal"> <ImageView android:id="@+id/mine_iv_vip" android:layout_width="22dp" android:layout_height="10dp" android:layout_marginLeft="7.5dp" android:src="@drawable/icon_vip" android:visibility="gone"></ImageView> <FrameLayout android:layout_width="55dp" android:layout_height="55dp" android:background="@drawable/shape_mine_portrait_bg"> <ImageView android:id="@+id/mine_ci_head" android:layout_width="50dp" android:layout_height="50dp" android:layout_gravity="center" android:src="@drawable/img_head_portrait" /> </FrameLayout> <TextView android:id="@+id/mine_tv_login" android:layout_width="135dp" android:layout_height="wrap_content" android:layout_marginLeft="27dp" android:background="@drawable/shape_login_btn_bg" android:ellipsize="end" android:gravity="center_horizontal" android:maxEms="4" android:maxLines="1" android:paddingTop="7.5dp" android:paddingBottom="7.5dp" android:text="@string/activity_main_login" android:textColor="@color/yellow" android:textSize="15sp" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:layout_marginBottom="10dp" android:gravity="center_vertical|left"> <TextView android:id="@+id/mine_tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/mine_nickname_text_color" android:textSize="18sp" android:visibility="gone" /> <ImageView android:id="@+id/mine_iv_vip" android:layout_width="22dp" android:layout_height="10dp" android:layout_marginLeft="7.5dp" android:src="@drawable/icon_vip" android:visibility="gone"></ImageView> </LinearLayout> </LinearLayout> <View android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"></View> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <LinearLayout android:id="@+id/ll_mine_favourite" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" android:padding="8dp"> <ImageView android:layout_width="24dp" android:layout_height="24dp" android:src="@drawable/ic_mine_favourite"></ImageView> <TextView android:id="@+id/tv_mine_favourite" style="@style/TextBlackMedium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="9dp" android:drawablePadding="15dp" android:text="@string/my_favourites" android:textColor="@color/mine_item_title_text_color" android:textSize="@dimen/mine_item_name" /> </LinearLayout> <LinearLayout android:id="@+id/ll_mine_follow" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" android:padding="8dp"> <ImageView android:layout_width="wrap_content" android:layout_height="24dp" android:src="@drawable/ic_mine_follow"></ImageView> <TextView android:id="@+id/tv_mine_favourite" style="@style/TextBlackMedium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="9dp" android:drawablePadding="15dp" android:text="关注" android:textColor="@color/mine_item_title_text_color" android:textSize="@dimen/mine_item_name" /> </LinearLayout> <LinearLayout android:id="@+id/ll_mine_watch_history" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" android:padding="8dp"> <ImageView android:layout_width="wrap_content" android:layout_height="24dp" android:src="@drawable/ic_mine_watch_history1"></ImageView> <TextView android:id="@+id/tv_mine_favourite" style="@style/TextBlackMedium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="9dp" android:drawablePadding="15dp" android:text="记录" android:textColor="@color/mine_item_title_text_color" android:textSize="@dimen/mine_item_name" /> </LinearLayout> <LinearLayout android:id="@+id/ll_mine_novel" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" android:padding="8dp" android:visibility="gone"> <ImageView android:layout_width="wrap_content" android:layout_height="24dp" android:src="@drawable/ic_mine_novel"></ImageView> <TextView android:id="@+id/tv_mine_novel" style="@style/TextBlackMedium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="9dp" android:drawablePadding="15dp" android:text="书架" android:textColor="#DCDCDC" android:textSize="@dimen/mine_item_name" /> </LinearLayout> </LinearLayout> @@ -105,127 +234,12 @@ </LinearLayout> </com.lcjian.library.widget.RatioLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="10dp" android:orientation="horizontal"> <LinearLayout android:id="@+id/ll_mine_favourite" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" android:padding="8dp"> <ImageView android:layout_width="24dp" android:layout_height="24dp" android:src="@drawable/ic_mine_favourite"></ImageView> <TextView android:id="@+id/tv_mine_favourite" style="@style/TextBlackMedium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="9dp" android:drawablePadding="15dp" android:text="@string/my_favourites" android:textColor="#DCDCDC" android:textSize="@dimen/mine_item_name" /> </LinearLayout> <LinearLayout android:id="@+id/ll_mine_follow" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" android:padding="8dp"> <ImageView android:layout_width="wrap_content" android:layout_height="24dp" android:src="@drawable/ic_mine_follow"></ImageView> <TextView android:id="@+id/tv_mine_favourite" style="@style/TextBlackMedium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="9dp" android:drawablePadding="15dp" android:text="关注" android:textColor="#DCDCDC" android:textSize="@dimen/mine_item_name" /> </LinearLayout> <LinearLayout android:id="@+id/ll_mine_watch_history" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" android:padding="8dp"> <ImageView android:layout_width="wrap_content" android:layout_height="24dp" android:src="@drawable/ic_mine_watch_history1"></ImageView> <TextView android:id="@+id/tv_mine_favourite" style="@style/TextBlackMedium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="9dp" android:drawablePadding="15dp" android:text="记录" android:textColor="#DCDCDC" android:textSize="@dimen/mine_item_name" /> </LinearLayout> <LinearLayout android:id="@+id/ll_mine_novel" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" android:padding="8dp" android:visibility="gone"> <ImageView android:layout_width="wrap_content" android:layout_height="24dp" android:src="@drawable/ic_mine_novel"></ImageView> <TextView android:id="@+id/tv_mine_novel" style="@style/TextBlackMedium" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="9dp" android:drawablePadding="15dp" android:text="书架" android:textColor="#DCDCDC" android:textSize="@dimen/mine_item_name" /> </LinearLayout> </LinearLayout> <LinearLayout android:id="@+id/ll_vip" android:layout_margin="12dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="12dp" android:background="@drawable/shape_vip_bg" android:gravity="center_vertical" android:orientation="horizontal" @@ -237,9 +251,9 @@ android:src="@drawable/icon_vip_logo"></ImageView> <TextView android:layout_marginLeft="9dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="9dp" android:text="开通VIP,看蓝光院线大片!" android:textColor="#ff885e24" android:textSize="12sp" /> @@ -284,7 +298,7 @@ android:layout_width="wrap_content" android:layout_height="20dp" android:layout_centerHorizontal="true" android:src="@drawable/ic_mine_message"></ImageView> android:src="@drawable/ic_mine_message_w"></ImageView> <TextView android:id="@+id/tv_message" @@ -293,7 +307,7 @@ android:layout_alignParentBottom="true" android:layout_marginTop="28dp" android:text="站内消息" android:textColor="#ffdcdcdc" android:textColor="@color/mine_item_title_text_color" android:textSize="@dimen/mine_item_name"></TextView> </RelativeLayout> @@ -311,7 +325,7 @@ android:layout_width="wrap_content" android:layout_height="20dp" android:layout_centerHorizontal="true" android:src="@drawable/ic_mine_share"></ImageView> android:src="@drawable/ic_mine_share_w"></ImageView> <TextView android:layout_width="wrap_content" @@ -319,7 +333,7 @@ android:layout_alignParentBottom="true" android:layout_marginTop="28dp" android:text="分享软件" android:textColor="#ffdcdcdc" android:textColor="@color/mine_item_title_text_color" android:textSize="@dimen/mine_item_name"></TextView> </RelativeLayout> @@ -337,7 +351,7 @@ android:layout_width="wrap_content" android:layout_height="20dp" android:layout_centerHorizontal="true" android:src="@drawable/ic_mine_help"></ImageView> android:src="@drawable/ic_mine_help_w"></ImageView> <TextView android:layout_width="wrap_content" @@ -345,7 +359,7 @@ android:layout_alignParentBottom="true" android:layout_marginTop="28dp" android:text="帮助中心" android:textColor="#ffdcdcdc" android:textColor="@color/mine_item_title_text_color" android:textSize="@dimen/mine_item_name"></TextView> </RelativeLayout> @@ -367,7 +381,7 @@ android:layout_width="wrap_content" android:layout_height="20dp" android:layout_centerHorizontal="true" android:src="@drawable/ic_mine_about_us"></ImageView> android:src="@drawable/ic_mine_about_us_w"></ImageView> <TextView android:layout_width="wrap_content" @@ -375,7 +389,7 @@ android:layout_alignParentBottom="true" android:layout_marginTop="28dp" android:text="关于我们" android:textColor="#ffdcdcdc" android:textColor="@color/mine_item_title_text_color" android:textSize="@dimen/mine_item_name"></TextView> </RelativeLayout> @@ -393,7 +407,7 @@ android:layout_width="wrap_content" android:layout_height="20dp" android:layout_centerHorizontal="true" android:src="@drawable/ic_mine_settings"></ImageView> android:src="@drawable/ic_mine_settings_w"></ImageView> <TextView android:layout_width="wrap_content" @@ -401,7 +415,7 @@ android:layout_alignParentBottom="true" android:layout_marginTop="28dp" android:text="设置" android:textColor="#ffdcdcdc" android:textColor="@color/mine_item_title_text_color" android:textSize="@dimen/mine_item_name"></TextView> </RelativeLayout> @@ -426,7 +440,7 @@ android:layout_alignParentBottom="true" android:layout_marginTop="28dp" android:text="帮助中心" android:textColor="#ffdcdcdc" android:textColor="@color/mine_item_title_text_color" android:textSize="10sp"></TextView> </RelativeLayout> BuWanVideo/res/layout/search_actvity.xml
@@ -2,7 +2,7 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/top_bar_color" android:background="@color/page_content_bg_color" android:orientation="vertical"> <include layout="@layout/view_status_bar" /> @@ -18,6 +18,7 @@ android:gravity="center_vertical" android:orientation="horizontal" android:padding="8dp"> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" @@ -35,22 +36,22 @@ android:scaleType="fitCenter" android:src="@drawable/ic_activity_main_search"></ImageView> <AutoCompleteTextView <EditText android:id="@+id/et_search_key" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_weight="1" android:completionThreshold="1" android:background="@null" android:hint="请输入搜索内容" android:imeOptions="actionSearch" android:inputType="text" android:padding="5dp" android:background="@null" android:textAppearance="?android:attr/textAppearance" android:textColor="@color/white" android:textSize="15sp" android:textCursorDrawable="@null" /> android:textColor="@color/search_input_text_color" android:textColorHint="@color/search_input_hint_text_color" android:textCursorDrawable="@null" android:textSize="14sp" /> </LinearLayout> @@ -62,117 +63,131 @@ android:paddingLeft="17dp" android:paddingRight="18dp" android:text="取消" android:textColor="#ffffffff" android:textSize="12sp"></TextView> android:textColor="@color/item_title_text_color" android:textSize="14sp"></TextView> </LinearLayout> </LinearLayout> <ScrollView <FrameLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> <LinearLayout <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="5dp" android:layout_marginRight="10dp" android:orientation="vertical"> android:layout_height="0dp" android:layout_weight="1"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginTop="5dp" android:layout_marginRight="10dp" android:orientation="vertical"> <TextView style="@style/TextBuleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="8dp" android:text="@string/hot_search" android:textSize="14sp" android:textColor="#DDDDDD" /> <com.lcjian.library.widget.MyGridView android:id="@+id/gv_hot_search" <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:horizontalSpacing="8dp" android:numColumns="2" android:paddingLeft="8dp" android:paddingTop="8dp" android:paddingRight="8dp" android:paddingBottom="8dp" android:stretchMode="columnWidth" android:verticalSpacing="8dp"></com.lcjian.library.widget.MyGridView> </LinearLayout> <FrameLayout android:id="@+id/fl_advertisement" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:paddingLeft="8dp" android:paddingRight="8dp"> <ImageView android:id="@+id/iv_search_ad" android:layout_width="match_parent" android:layout_height="wrap_content" /> </FrameLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:id="@+id/ll_search_history" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> android:orientation="vertical"> <TextView android:textSize="14sp" style="@style/TextBuleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="8dp" android:text="@string/history_search" android:textColor="#DDDDDD" /> android:text="@string/hot_search" android:textColor="@color/item_title_text_color" android:textSize="16sp" /> <TextView android:id="@+id/tv_search_clear_his" android:layout_width="wrap_content" <com.lcjian.library.widget.MyGridView android:id="@+id/gv_hot_search" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:padding="8dp" android:text="@string/clear_history_search" android:textColor="@color/gray" /> </RelativeLayout> android:horizontalSpacing="8dp" android:numColumns="2" android:paddingLeft="8dp" android:paddingTop="8dp" android:paddingRight="8dp" android:paddingBottom="8dp" android:stretchMode="columnWidth" android:verticalSpacing="8dp"></com.lcjian.library.widget.MyGridView> </LinearLayout> <com.lcjian.library.widget.MyGridView android:id="@+id/gv_history_search" <FrameLayout android:id="@+id/fl_advertisement" android:layout_width="match_parent" android:layout_height="wrap_content" android:horizontalSpacing="8dp" android:numColumns="2" android:layout_marginTop="10dp" android:paddingLeft="8dp" android:paddingTop="8dp" android:paddingRight="8dp" android:paddingBottom="8dp" android:stretchMode="columnWidth" android:verticalSpacing="8dp"></com.lcjian.library.widget.MyGridView> android:paddingRight="8dp"> <ImageView android:id="@+id/iv_search_ad" android:layout_width="match_parent" android:layout_height="wrap_content" /> </FrameLayout> <LinearLayout android:id="@+id/ll_search_history" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView style="@style/TextBuleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="8dp" android:text="@string/history_search" android:textColor="@color/item_title_text_color" android:textSize="16sp" /> <TextView android:id="@+id/tv_search_clear_his" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:drawableLeft="@drawable/ic_history_delete" android:padding="8dp" android:textColor="@color/gray" /> </RelativeLayout> <com.lcjian.library.widget.MyGridView android:id="@+id/gv_history_search" android:layout_width="match_parent" android:layout_height="wrap_content" android:horizontalSpacing="8dp" android:numColumns="2" android:paddingLeft="8dp" android:paddingTop="8dp" android:paddingRight="8dp" android:paddingBottom="8dp" android:stretchMode="columnWidth" android:verticalSpacing="8dp"></com.lcjian.library.widget.MyGridView> </LinearLayout> </LinearLayout> </ScrollView> </LinearLayout> </ScrollView> <FrameLayout android:visibility="gone" android:id="@+id/fl_suggest" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/page_content_bg_color"></FrameLayout> </FrameLayout> </LinearLayout> BuWanVideo/res/values/colors.xml
@@ -58,6 +58,7 @@ <color name="page_status_bar_color">#FFFFFF</color> <color name="page_header_bg_color">#FFFFFF</color> <color name="page_title_text_color">#FFFFFF</color> <color name="page_content_bg_color">#FFFFFF</color> <!-- 列表为空的提示 --> <color name="list_empty_default_text_color">#666666</color> @@ -77,7 +78,8 @@ <!-- 别表项目的颜色 --> <color name="item_title_text_color">#000000</color> <color name="item_subtitle_text_color">#777777</color> <color name="item_tag_text_color">#DCDCDC</color> <color name="item_tag_text_color">#666666</color> <color name="item_more_bg_color">#E9F0FF</color> <!--搜索界面颜色 --> <color name="search_item_bg_color">#F7F7F7</color> @@ -91,11 +93,17 @@ <!-- 我的页面 --> <color name="mine_item_title_text_color">#666666</color> <color name="mine_item_container_bg_color">#EBEBEB</color> <color name="mine_nickname_text_color">#0052F6</color> <!--视频颜色 --> <color name="video_list_title_text_color">#000000</color> <color name="video_list_subtitle_text_color">#9FA5B3</color> <color name="video_list_tag_text_color">#C0C0C0</color> <color name="video_list_score_text_color">#f8dc9f</color> <color name="btn_bg_color">#0052F6</color> </resources> BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoAPI.java
@@ -846,6 +846,16 @@ commonPost(context, BASE_URL + "recommend", params, handler); } public static void getHomeVideoList(Context context, String id, int page, ResponseHandlerInterface handler) { LinkedHashMap<String, String> params = new LinkedHashMap<String, String>(); params.put("Method", "getHomeVideoList"); params.put("Id", id); params.put("Page", page + ""); commonPost(context, BASE_URL + "recommend", params, handler); } public static void getMoreVideo(Context context, String uid, String type, String page, ResponseHandlerInterface handler) { LinkedHashMap<String, String> params = new LinkedHashMap<String, String>(); BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
@@ -164,7 +164,7 @@ } //百度内容联盟 try { AppActivity.setActionBarColorTheme(AppActivity.ActionBarColorTheme.ACTION_BAR_BLACK_THEME); AppActivity.setActionBarColorTheme(AppActivity.ActionBarColorTheme.ACTION_BAR_WHITE_THEME); } catch (Exception e) { } BuWanVideo/src/com/weikou/beibeivideo/entity/HomeType.java
@@ -40,6 +40,8 @@ private String params; @Expose private String hasMore; @Expose private List<HomeVideo> homeVideoList; @Expose @@ -49,9 +51,31 @@ @Expose private boolean needAd; //刷新的位置 0-无刷新 1-右上角 2-下方 @Expose private int refreshPosition; @Expose private String moreTag; @Expose private int count; @Expose private int pageSize; //当前页码(0-开始) private int currentPage; //广告 @Expose private HomeTypeAd ad; public String getMoreTag() { return moreTag; } public void setMoreTag(String moreTag) { this.moreTag = moreTag; } public HomeTypeAd getAd() { return ad; @@ -193,6 +217,37 @@ this.admin = admin; } public int getRefreshPosition() { return refreshPosition; } public void setRefreshPosition(int refreshPosition) { this.refreshPosition = refreshPosition; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public static class HomeTypeAd { @Expose BuWanVideo/src/com/weikou/beibeivideo/entity/VideoInfo.java
@@ -76,6 +76,9 @@ private String evalueate; @Expose private String subTitle; @Expose private int free; //0-普清 1-高清 @@ -365,4 +368,13 @@ public void setAdView(NativeExpressADView adView) { this.adView = adView; } public String getSubTitle() { return subTitle; } public void setSubTitle(String subTitle) { this.subTitle = subTitle; } } BuWanVideo/src/com/weikou/beibeivideo/entity/video/holder/VideoHolder.java
@@ -17,11 +17,13 @@ public ImageView iv_movie_cover; public ImageView iv_spread; public ImageView iv_vip; public TextView tv_movie_rating; public TextView tv_score; public ImageView iv_ad_logo; public TextView tv_movie_play_num; public TextView tv_movie_comment_num; public ImageView iv_high; public TextView tv_tag; public TextView tv_movie_title; public TextView tv_movie_sub_title; public LinearLayout ll_tag_container; public View view; public VideoHolder(View view) { @@ -31,11 +33,13 @@ ll_video_show = view.findViewById(R.id.ll_video_show); iv_movie_cover = view.findViewById(R.id.iv_movie_cover); iv_spread = view.findViewById(R.id.iv_spread); tv_movie_rating = view.findViewById(R.id.tv_movie_rating); tv_score = view.findViewById(R.id.tv_score); tv_tag = view.findViewById(R.id.tv_tag); iv_high = view.findViewById(R.id.iv_high); iv_ad_logo = view.findViewById(R.id.iv_ad_logo); tv_movie_play_num = view.findViewById(R.id.tv_movie_play_num); tv_movie_comment_num = view.findViewById(R.id.tv_movie_comment_num); tv_movie_title = view.findViewById(R.id.tv_movie_title); tv_movie_sub_title = view.findViewById(R.id.tv_subtitle); iv_vip = view.findViewById(R.id.iv_vip); ll_tag_container = view.findViewById(R.id.ll_tag_container); } } BuWanVideo/src/com/weikou/beibeivideo/ui/SplashActivity.java
@@ -18,17 +18,14 @@ import android.support.v4.content.ContextCompat; import android.telephony.TelephonyManager; import android.view.KeyEvent; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.bumptech.glide.Glide; import com.google.gson.Gson; import com.lcjian.library.util.common.StringUtils; import com.tencent.smtt.sdk.WebView; import com.umeng.analytics.MobclickAgent; import com.lcjian.library.util.glide.GlideRoundTransform; import com.weikou.beibeivideo.BasicTextHttpResponseHandler; import com.weikou.beibeivideo.BeibeiVideoAPI; import com.weikou.beibeivideo.BeibeiVideoApplication; @@ -39,7 +36,6 @@ import com.weikou.beibeivideo.ui.main.MainActivity; import com.weikou.beibeivideo.util.BeibeiConstant; import com.weikou.beibeivideo.util.ConfigUtil; import com.weikou.beibeivideo.util.GlideRoundTransform; import com.weikou.beibeivideo.util.PermissionsChecker; import com.weikou.beibeivideo.util.SDCardUtil; import com.weikou.beibeivideo.util.UserUtil; BuWanVideo/src/com/weikou/beibeivideo/ui/baidu/BaiDuNewsFragment.java
@@ -9,6 +9,8 @@ import android.support.v4.view.ViewPager; import android.util.Log; import android.view.View; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.Toast; import com.androidquery.AQuery; @@ -16,6 +18,7 @@ import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.viewpagerindicator.FoundTabPageIndicator; import com.viewpagerindicator.MainTabPageIndicator; import com.weikou.beibeivideo.BasicTextHttpResponseHandler; import com.weikou.beibeivideo.BeibeiVideoAPI; import com.weikou.beibeivideo.BeibeiVideoApplication; @@ -45,8 +48,9 @@ private ViewPager viewPager; private ContentAdapter contentAdapter; private List<BaiDuCPUType> itemList = new ArrayList<>(); private FoundTabPageIndicator indicator; private AQuery mAQuery; private FrameLayout fl_indicator; private MainTabPageIndicator indicator; public static BaiDuNewsFragment newInstance() { @@ -63,6 +67,13 @@ private void initView(View contentView) { viewPager = contentView.findViewById(R.id.vp_news); fl_indicator = contentView.findViewById(R.id.fl_indicator); indicator = new MainTabPageIndicator( getContext()); indicator.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)); indicator.setTextColor(getResources().getColor(com.weikou.beibeivideo.R.color.nav_text_color), getResources().getColor(com.weikou.beibeivideo.R.color.nav_highloght_text_color)); fl_indicator.addView(indicator); } @@ -131,7 +142,7 @@ contentAdapter = new ContentAdapter( getChildFragmentManager(), itemList); viewPager.setAdapter(contentAdapter); ((FoundTabPageIndicator) mAQuery.id(R.id.indicator).getView()).setViewPager(viewPager); indicator.setViewPager(viewPager, 0); } BuWanVideo/src/com/weikou/beibeivideo/ui/baidu/BaiDuVideosFragment.java
@@ -7,6 +7,8 @@ import android.support.v4.app.FragmentStatePagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.Toast; import com.androidquery.AQuery; @@ -14,6 +16,7 @@ import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.viewpagerindicator.FoundTabPageIndicator; import com.viewpagerindicator.MainTabPageIndicator; import com.weikou.beibeivideo.BasicTextHttpResponseHandler; import com.weikou.beibeivideo.BeibeiVideoAPI; import com.weikou.beibeivideo.BeibeiVideoApplication; @@ -43,7 +46,7 @@ private ViewPager viewPager; private ContentAdapter contentAdapter; private List<BaiDuCPUType> itemList = new ArrayList<>(); private FoundTabPageIndicator indicator; private FrameLayout fl_indicator; private AQuery mAQuery; public static BaiDuVideosFragment newInstance() { @@ -51,6 +54,8 @@ fragment.setName("百度视频"); return fragment; } private MainTabPageIndicator indicator; @Override @@ -60,6 +65,12 @@ private void initView(View contentView) { viewPager = contentView.findViewById(R.id.vp_news); fl_indicator = contentView.findViewById(R.id.fl_indicator); indicator = new MainTabPageIndicator( getContext()); indicator.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)); indicator.setTextColor(getResources().getColor(com.weikou.beibeivideo.R.color.nav_text_color), getResources().getColor(com.weikou.beibeivideo.R.color.nav_highloght_text_color)); fl_indicator.addView(indicator); } private String getCacheKey() { @@ -136,7 +147,7 @@ contentAdapter = new BaiDuVideosFragment.ContentAdapter( getChildFragmentManager(), itemList); viewPager.setAdapter(contentAdapter); ((FoundTabPageIndicator) mAQuery.id(R.id.indicator).getView()).setViewPager(viewPager); indicator.setViewPager(viewPager, 0); } class ContentAdapter extends FragmentStatePagerAdapter { BuWanVideo/src/com/weikou/beibeivideo/ui/category/CategoryAdapter.java
@@ -14,11 +14,11 @@ import com.bumptech.glide.Glide; import com.lcjian.library.util.common.StringUtils; import com.lcjian.library.util.glide.GlideCircleTransform; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.VideoType; import com.weikou.beibeivideo.ui.common.VideosLiveActivity; import com.weikou.beibeivideo.ui.mine.BrowserActivity; import com.weikou.beibeivideo.util.GlideCircleTransform; import java.util.List; @@ -59,16 +59,16 @@ convertView = LayoutInflater.from(parent.getContext()).inflate( R.layout.category_item, parent, false); } final ImageView iv_category_icon = (ImageView) convertView final ImageView iv_category_icon = convertView .findViewById(R.id.iv_category_icon); TextView tv_category_name = (TextView) convertView TextView tv_category_name = convertView .findViewById(R.id.tv_category_name); VideoType category = null; if (position < mCategories.size()) { category = (VideoType) getItem(position); try { Glide.with(context).load(category.getIcon()).transform(new GlideCircleTransform(context)).transition(withCrossFade()) .placeholder(R.color.theme).error(R.color.theme).into(iv_category_icon); .placeholder(R.color.page_content_bg_color).error(R.color.page_content_bg_color).into(iv_category_icon); } catch (IllegalArgumentException e) { e.printStackTrace(); } @@ -77,7 +77,7 @@ iv_category_icon.setVisibility(View.INVISIBLE); tv_category_name.setVisibility(View.INVISIBLE); convertView.setBackgroundColor(parent.getResources().getColor( R.color.theme)); R.color.page_content_bg_color)); } final VideoType cate1 = category; convertView.setOnClickListener(new OnClickListener() { BuWanVideo/src/com/weikou/beibeivideo/ui/category/NewStarAdapter.java
@@ -1,7 +1,5 @@ package com.weikou.beibeivideo.ui.category; import java.util.List; import android.content.Context; import android.content.Intent; import android.os.Bundle; @@ -16,13 +14,14 @@ import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; import com.weikou.beibeivideo.R; import com.lcjian.library.util.glide.GlideCircleTransform; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.ui.category.bean.HotStar; import com.weikou.beibeivideo.util.GlideCircleTransform; import java.util.List; /** * 分类明星中GridView的适配器 BuWanVideo/src/com/weikou/beibeivideo/ui/category/StarDetailFragment.java
@@ -9,7 +9,6 @@ import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; @@ -20,18 +19,16 @@ import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import com.lcjian.library.RetainViewFragment; import com.lcjian.library.util.RefreshLayout; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.lcjian.library.util.glide.GlideCircleTransform; import com.umeng.analytics.MobclickAgent; import com.weikou.beibeivideo.BasicTextHttpResponseHandler; import com.weikou.beibeivideo.BeibeiVideoAPI; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.VideoInfo; import com.weikou.beibeivideo.entity.video.VideoContent; import com.weikou.beibeivideo.ui.video.VideoCloumn1Adapter; import com.weikou.beibeivideo.util.DimenUtils; import com.weikou.beibeivideo.util.GlideCircleTransform; import com.weikou.beibeivideo.util.ui.DividerItemDecoration; import com.weikou.beibeivideo.R; import org.apache.http.Header; import org.json.JSONObject; BuWanVideo/src/com/weikou/beibeivideo/ui/common/FollowAdapter1.java
@@ -12,11 +12,10 @@ import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; import com.lcjian.library.util.common.StringUtils; import com.weikou.beibeivideo.entity.Attention; import com.weikou.beibeivideo.ui.media.VideoDetailActivity; import com.weikou.beibeivideo.ui.media.VideoDetailActivity2; import com.weikou.beibeivideo.util.GlideCircleTransform; import com.lcjian.library.util.glide.GlideCircleTransform; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.Attention; import com.weikou.beibeivideo.ui.media.VideoDetailActivity2; import java.text.DecimalFormat; import java.util.List; BuWanVideo/src/com/weikou/beibeivideo/ui/common/FollowAdapter2.java
@@ -12,13 +12,9 @@ import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; import com.lcjian.library.util.common.StringUtils; import com.weikou.beibeivideo.entity.Attention; import com.weikou.beibeivideo.entity.Follow; import com.weikou.beibeivideo.ui.media.VideoDetailActivity; import com.weikou.beibeivideo.ui.media.VideoDetailActivity2; import com.weikou.beibeivideo.util.GlideCircleTransform; import com.weikou.beibeivideo.util.TimeUtil; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.Attention; import com.weikou.beibeivideo.ui.media.VideoDetailActivity2; import java.util.ArrayList; import java.util.List; BuWanVideo/src/com/weikou/beibeivideo/ui/discover/CommentAdapter.java
@@ -9,10 +9,10 @@ import android.widget.TextView; import com.bumptech.glide.Glide; import com.weikou.beibeivideo.entity.GoodsComments; import com.weikou.beibeivideo.util.GlideCircleTransform; import com.weikou.beibeivideo.util.TimeUtils; import com.lcjian.library.util.glide.GlideCircleTransform; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.GoodsComments; import com.weikou.beibeivideo.util.TimeUtils; import java.util.List; BuWanVideo/src/com/weikou/beibeivideo/ui/discover/GoodsAdapter.java
@@ -3,7 +3,6 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -11,22 +10,20 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.bumptech.glide.Glide; import com.lcjian.library.util.SingleToast; import com.lcjian.library.util.common.StringUtils; import com.lcjian.library.util.glide.GlideCircleTransform; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer; import com.weikou.beibeivideo.BasicTextHttpResponseHandler; import com.weikou.beibeivideo.BeibeiVideoAPI; import com.weikou.beibeivideo.entity.Goods; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.GoodsInfo; import com.weikou.beibeivideo.ui.login.LoginActivity; import com.weikou.beibeivideo.util.GlideCircleTransform; import com.weikou.beibeivideo.R; import org.apache.http.Header; import org.json.JSONObject; BuWanVideo/src/com/weikou/beibeivideo/ui/discover/GoodsDetailActivity.java
@@ -6,15 +6,12 @@ import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; import android.widget.BaseAdapter; import android.widget.FrameLayout; import android.widget.ImageView; @@ -30,6 +27,7 @@ import com.google.gson.reflect.TypeToken; import com.lcjian.library.util.SingleToast; import com.lcjian.library.util.common.StringUtils; import com.lcjian.library.util.glide.GlideCircleTransform; import com.lcjian.library.widget.MyGridView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; @@ -37,12 +35,11 @@ import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer; import com.weikou.beibeivideo.BasicTextHttpResponseHandler; import com.weikou.beibeivideo.BeibeiVideoAPI; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.GoodsComments; import com.weikou.beibeivideo.entity.Ware; import com.weikou.beibeivideo.ui.BaseActivity; import com.weikou.beibeivideo.ui.login.LoginActivity; import com.weikou.beibeivideo.util.GlideCircleTransform; import com.weikou.beibeivideo.R; import org.apache.http.Header; import org.json.JSONObject; BuWanVideo/src/com/weikou/beibeivideo/ui/login/PersonInfoActivity.java
@@ -31,11 +31,12 @@ import com.bumptech.glide.Glide; import com.google.gson.Gson; import com.lcjian.library.dialog.DialogUtil; import com.lcjian.library.util.Environment; import com.lcjian.library.permission.PermissionHelper; import com.lcjian.library.permission.PermissionInterface; import com.lcjian.library.util.Environment; import com.lcjian.library.util.SingleToast; import com.lcjian.library.util.common.StringUtils; import com.lcjian.library.util.glide.GlideCircleTransform; import com.tencent.mm.opensdk.modelmsg.SendAuth; import com.umeng.socialize.UMAuthListener; import com.umeng.socialize.UMShareAPI; @@ -43,13 +44,11 @@ import com.weikou.beibeivideo.BasicTextHttpResponseHandler; import com.weikou.beibeivideo.BeibeiVideoAPI; import com.weikou.beibeivideo.BeibeiVideoApplication; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.vo.UserInfoVO; import com.weikou.beibeivideo.ui.BaseActivity; import com.weikou.beibeivideo.ui.dialog.LoadingDialogUtil; import com.weikou.beibeivideo.util.BeibeiConstant; import com.weikou.beibeivideo.util.FileUtils; import com.weikou.beibeivideo.util.GlideCircleTransform; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.util.UserUtil; import org.apache.http.Header; BuWanVideo/src/com/weikou/beibeivideo/ui/main/MineFragment.java
@@ -29,11 +29,10 @@ import com.lcjian.library.util.common.StringUtils; import com.lcjian.library.util.glide.GlideRoundTransform; import com.umeng.analytics.MobclickAgent; import com.umeng.socialize.ShareAction; import com.umeng.socialize.UMShareAPI; import com.umeng.socialize.UMShareListener; import com.umeng.socialize.bean.SHARE_MEDIA; import com.umeng.socialize.media.UMWeb; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.db.MessageTable; import com.weikou.beibeivideo.entity.NewComment; import com.weikou.beibeivideo.entity.UserInfo; @@ -44,19 +43,15 @@ import com.weikou.beibeivideo.ui.login.LoginActivity; import com.weikou.beibeivideo.ui.login.PersonInfoActivity; import com.weikou.beibeivideo.ui.mine.BrowserActivity; import com.weikou.beibeivideo.ui.mine.PPTVPlayFragment; import com.weikou.beibeivideo.ui.mine.HelpAndTicklingActivity; import com.weikou.beibeivideo.ui.mine.MyFavouriteActivity; import com.weikou.beibeivideo.ui.mine.SettingsActivity; import com.weikou.beibeivideo.ui.mine.SystemMessageActivity; import com.weikou.beibeivideo.ui.mine.WatchHistoryActivity; import com.weikou.beibeivideo.ui.recommend.SearchActivity; import com.weikou.beibeivideo.util.BeibeiConstant; import com.weikou.beibeivideo.util.ConfigUtil; import com.weikou.beibeivideo.util.GlideCircleTransform; import com.weikou.beibeivideo.util.UserUtil; import com.weikou.beibeivideo.widget.BadgeView; import com.weikou.beibeivideo.R; import de.greenrobot.event.EventBus; BuWanVideo/src/com/weikou/beibeivideo/ui/media/EpisodeFragment.java
@@ -49,6 +49,7 @@ import com.weikou.beibeivideo.BasicTextHttpResponseHandler; import com.weikou.beibeivideo.BeibeiVideoAPI; import com.weikou.beibeivideo.BeibeiVideoApplication; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.db.WatchHistoryTable; import com.weikou.beibeivideo.entity.Follow; import com.weikou.beibeivideo.entity.Play; @@ -62,18 +63,15 @@ import com.weikou.beibeivideo.ui.login.LoginActivity; import com.weikou.beibeivideo.ui.video.EpisodeNewAdapter; import com.weikou.beibeivideo.util.BeibeiConstant; import com.weikou.beibeivideo.util.GlideCircleTransform; import com.weikou.beibeivideo.util.UserUtil; import com.weikou.beibeivideo.util.VideoUtil; import com.weikou.beibeivideo.util.ad.AdUtil; import com.weikou.beibeivideo.util.ad.ExpressAdManager; import com.weikou.beibeivideo.R; import org.apache.http.Header; import org.json.JSONArray; import org.json.JSONObject; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; BuWanVideo/src/com/weikou/beibeivideo/ui/media/VideoReviewAdapter.java
@@ -16,12 +16,12 @@ import com.bumptech.glide.Glide; import com.bumptech.glide.RequestManager; import com.lcjian.library.util.common.StringUtils; import com.lcjian.library.util.glide.GlideCircleTransform; import com.lcjian.library.widget.MyListView; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.Comment; import com.weikou.beibeivideo.entity.CommentReply; import com.weikou.beibeivideo.util.BeibeiConstant; import com.weikou.beibeivideo.util.GlideCircleTransform; import com.weikou.beibeivideo.util.TimeUtils; import java.util.List; BuWanVideo/src/com/weikou/beibeivideo/ui/mine/CommentMessageAdapter.java
@@ -1,11 +1,5 @@ package com.weikou.beibeivideo.ui.mine; import java.util.Date; import java.util.List; import org.json.JSONObject; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -31,13 +25,17 @@ import com.bumptech.glide.RequestManager; import com.lcjian.library.util.common.DateUtils; import com.lcjian.library.util.common.StringUtils; import com.lcjian.library.util.glide.GlideCircleTransform; import com.weikou.beibeivideo.BasicTextHttpResponseHandler; import com.weikou.beibeivideo.BeibeiVideoAPI; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.CommentReply; import com.weikou.beibeivideo.ui.media.VideoDetailActivity; import com.weikou.beibeivideo.ui.media.VideoDetailActivity2; import com.weikou.beibeivideo.util.GlideCircleTransform; import org.json.JSONObject; import java.util.Date; import java.util.List; import de.greenrobot.event.EventBus; BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/GuessLikeAdapter.java
@@ -2,14 +2,11 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; @@ -18,14 +15,9 @@ import com.bumptech.glide.Glide; import com.bumptech.glide.RequestManager; import com.lcjian.library.widget.RatioLayout; import com.qq.e.ads.nativ.MediaView; import com.weikou.beibeivideo.entity.VideoInfo; import com.weikou.beibeivideo.ui.category.SpecificDetailActivity; import com.weikou.beibeivideo.ui.category.bean.UniqueBean; import com.weikou.beibeivideo.ui.media.VideoDetailActivity; import com.weikou.beibeivideo.ui.media.VideoDetailActivity2; import com.weikou.beibeivideo.util.GlideCircleTransform; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.VideoInfo; import com.weikou.beibeivideo.ui.media.VideoDetailActivity2; import java.util.List; BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendAdapter.java
@@ -30,6 +30,7 @@ import com.google.gson.GsonBuilder; import com.lcjian.library.util.MarketUtils; import com.lcjian.library.util.common.StringUtils; import com.lcjian.library.util.glide.GlideCircleTransform; import com.lcjian.library.widget.MyListView; import com.weikou.beibeivideo.BeibeiVideoApplication; import com.weikou.beibeivideo.R; @@ -42,10 +43,8 @@ import com.weikou.beibeivideo.ui.category.bean.HotStar; import com.weikou.beibeivideo.ui.common.VideosLiveActivity; import com.weikou.beibeivideo.ui.discover.StarsActivity; import com.weikou.beibeivideo.ui.media.VideoDetailActivity; import com.weikou.beibeivideo.ui.media.VideoDetailActivity2; import com.weikou.beibeivideo.util.AppMarket; import com.weikou.beibeivideo.util.GlideCircleTransform; import com.weikou.beibeivideo.util.downutil.ApkUtil; import java.text.DecimalFormat; BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendNewAdapter.java
@@ -3,6 +3,9 @@ import android.app.Activity; import android.content.Intent; import android.support.v7.widget.RecyclerView; import android.text.SpannableString; import android.text.Spanned; import android.text.style.AbsoluteSizeSpan; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -22,8 +25,11 @@ import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.lcjian.library.util.common.DimenUtils; import com.lcjian.library.util.common.StringUtils; import com.lcjian.library.widget.RatioLayout; import com.weikou.beibeivideo.BasicTextHttpResponseHandler; import com.weikou.beibeivideo.BeibeiVideoAPI; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.HomeType; import com.weikou.beibeivideo.entity.HomeVideo; @@ -43,6 +49,10 @@ import com.weikou.beibeivideo.util.VideoUtil; import com.weikou.beibeivideo.util.ad.AdUtil; import com.weikou.beibeivideo.util.ad.ExpressAdManager; import com.weikou.beibeivideo.util.video.VideoUIUtil; import org.apache.http.Header; import org.json.JSONArray; import java.text.DecimalFormat; import java.util.ArrayList; @@ -62,6 +72,10 @@ private TreeSet mADSet = new TreeSet(); public final int TYPE_HEADER = 10001; private Gson gson = new GsonBuilder().setVersion(1.0).setFieldNamingPolicy( FieldNamingPolicy.UPPER_CAMEL_CASE) .create(); private View headerView; @@ -171,6 +185,8 @@ homeType.setVideoInfoList(new ArrayList<>()); } ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); holder.view.setLayoutParams(params); //是否为广告 if (homeType.getAd() != null) { holder.fl_ad.setVisibility(View.VISIBLE); @@ -188,8 +204,8 @@ @Override public void onClick(View v) { JumpActivityUtil.jumpPage(mContext,homeType.getAd().getJumpDetail(),homeType.getAd().getParams()!=null? JSONObject.parseObject(homeType.getAd().getParams().replace( "\\" + "\"", "\"")):null); JumpActivityUtil.jumpPage(mContext, homeType.getAd().getJumpDetail(), homeType.getAd().getParams() != null ? JSONObject.parseObject(homeType.getAd().getParams().replace( "\\" + "\"", "\"")) : null); } }); @@ -237,14 +253,93 @@ } Glide.with(mContext).load(homeType.getIcon()) .apply(new RequestOptions().placeholder(R.drawable.ic_stars_collection)).into(holder.tv_category_icon); holder.tv_category_name.setText(homeType.getName()); //更多 if (Boolean.parseBoolean(homeType.getHasMore())) { holder.tv_more.setVisibility(View.VISIBLE); if (!StringUtils.isEmpty(homeType.getMoreTag())) { holder.tv_more.setText(homeType.getMoreTag()); } else { holder.tv_more.setText("更多" + homeType.getName()); } } else { holder.tv_more.setVisibility(View.GONE); } int refreshP = homeType.getRefreshPosition(); //右上角且有更多选项 if (refreshP == 1 && Boolean.parseBoolean(homeType.getHasMore())) { refreshP = 2;//移动至下方 } //不足一页不显示刷新 if (homeType.getCount() <= homeType.getPageSize()) { refreshP = 0; } switch (refreshP) { case 0: holder.tv_refresh.setVisibility(View.GONE); holder.tv_tag_refresh.setVisibility(View.GONE); break; case 1: holder.tv_refresh.setVisibility(View.GONE); holder.tv_tag_refresh.setVisibility(View.VISIBLE); break; case 2: holder.tv_refresh.setVisibility(View.VISIBLE); holder.tv_tag_refresh.setVisibility(View.GONE); break; } //刷新的动作 View.OnClickListener refreshListener = new View.OnClickListener() { @Override public void onClick(View v) { BeibeiVideoAPI.getHomeVideoList(mContext, homeType.getId(), homeType.getCurrentPage() + 1, new BasicTextHttpResponseHandler() { @Override public void onSuccessPerfect(int statusCode, Header[] headers, org.json.JSONObject jsonObject) throws Exception { if (jsonObject.optBoolean("IsPost")) { org.json.JSONObject data = jsonObject.optJSONObject("Data"); int page = data.optInt("page"); homeType.setCurrentPage(page); //解析数据 homeType.getHomeVideoList().clear(); //解析HomeVideo数据 int count = data.optInt("count"); homeType.setCount(count); JSONArray homeArray = data .optJSONArray("list"); List<HomeVideo> homeList = new ArrayList<>(); if (homeArray != null && homeArray.length() > 0) { for (int j = 0; j < homeArray.length(); j++) { homeList.add(gson.fromJson(homeArray .optJSONObject(j).toString(), HomeVideo.class)); } } homeType.getHomeVideoList().clear(); homeType.getHomeVideoList().addAll(homeList); //改变当前选项 notifyItemChanged(i); } } }); } }; holder.tv_refresh.setOnClickListener(refreshListener); holder.tv_tag_refresh.setOnClickListener(refreshListener); holder.tv_more .setOnClickListener(new OnClickListener() { @@ -329,11 +424,12 @@ FrameLayout fl_ad; RatioLayout rl_ad; TextView tv_category_name; ImageView tv_category_icon; ImageView iv_ad; TextView tv_more; RecyclerView rv_content; RelativeLayout rl_title_item; TextView tv_refresh; TextView tv_tag_refresh; View view; public HomeTypeHolder(View convertView, RecyclerView.RecycledViewPool recycledViewPool) { @@ -357,12 +453,16 @@ tv_category_name = convertView .findViewById(R.id.tv_category_name); tv_category_icon = convertView .findViewById(R.id.tv_category_icon); tv_more = convertView .findViewById(R.id.tv_more); rv_content = convertView .findViewById(R.id.rv_content); tv_refresh = convertView .findViewById(R.id.tv_refresh); tv_tag_refresh = convertView .findViewById(R.id.tv_tag_refresh); if (recycledViewPool != null) @@ -382,207 +482,6 @@ ll_container = view.findViewById(R.id.ll_container); fl_ad = view.findViewById(R.id.fl_ad); rl_title_item = view.findViewById(R.id.rl_title_item); } } public class HomeTypeContentAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Activity mContext; private List<HomeTypeContent> contentList; private int maxItemNum; private ExpressAdManager expressAdManager; private boolean needAd; public HomeTypeContentAdapter(final Activity context, List<HomeVideo> videoList, boolean needAd, int maxItemNum) { this.needAd = needAd; this.mContext = context; if (contentList == null) this.contentList = new ArrayList<>(); this.contentList.clear(); for (HomeVideo hv : videoList) { this.contentList.add(new HomeTypeContent(HomeTypeContent.TYPE_CONTENT, hv)); } if (needAd) { if (expressAdManager == null) expressAdManager = new ExpressAdManager(AdUtil.getSmallExpressAdType(), mContext); expressAdManager.loadRecommendSmallAd(new ExpressAdManager.IAdLoadListener() { @Override public void onSuccess(List<ExpressAdContainer> adList) { if (adList != null && adList.size() > 0) { if (contentList != null && contentList.size() > 0 && contentList.get(0).getType() == HomeTypeContent.TYPE_CONTENT) { contentList.add(0, new HomeTypeContent(HomeTypeContent.TYPE_AD, adList.get(0))); notifyDataSetChanged(); } } } }); } this.maxItemNum = maxItemNum; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int type) { switch (type) { case HomeTypeContent.TYPE_AD: return new RecommendVideoAdHolder(inflater.inflate(R.layout.item_ad_list_small, parent, false)); case HomeTypeContent.TYPE_CONTENT: return new VideoHolder(inflater.inflate(R.layout.item_movie, parent, false)); } return null; } @Override public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int p) { final HomeTypeContent content = contentList.get(p); if (viewHolder instanceof VideoHolder) { VideoHolder holder = (VideoHolder) viewHolder; final HomeVideo info = content.getHomeVideo(); //设置内容 holder.ll_video_show.setVisibility(View.VISIBLE); if (StringUtils.isEmpty(info.getPicture())) { Glide.with(mContext).load(info.getVideo().getPicture()) .apply(new RequestOptions().centerCrop().placeholder(R.drawable.ic_default_cover).error(R.drawable.ic_default_cover)) .into(holder.iv_movie_cover); } else { try { Glide.with(mContext).load(info.getPicture()) .apply(new RequestOptions().centerCrop().placeholder(R.drawable.ic_default_cover).error(R.drawable.ic_default_cover)) .into(holder.iv_movie_cover); } catch (IllegalArgumentException e) { e.printStackTrace(); } } holder.tv_movie_title.setText(info.getVideo().getName()); String tag = StringUtils.isBlank(info .getVideo().getTag()) ? "" : info.getVideo() .getTag(); holder.tv_movie_rating.setText(tag); if (StringUtils.isBlank(tag)) { holder.tv_movie_rating.setVisibility(View.GONE); } else { holder.tv_movie_rating.setVisibility(View.VISIBLE); } //vip标识 if (info.getVideo() != null && info.getVideo().getFree() == 1) { holder.iv_vip.setVisibility(View.VISIBLE); } else { holder.iv_vip.setVisibility(View.GONE); } DecimalFormat df = new DecimalFormat("###.0"); holder.tv_movie_play_num.setText(VideoUtil.getWatchCountShortName(info.getVideo().getWatchCount())); holder.tv_movie_play_num.setVisibility(View.GONE); holder.tv_movie_comment_num.setText(StringUtils.isBlank(info.getVideo().getCommentCount()) ? "0" : info.getVideo().getCommentCount()); holder.ll_video_show .setOnClickListener(new OnClickListener() { @Override public void onClick(final View v) { //跳转到商品视频播放页 myClick(info.getVideo(), v); } }); } else if (viewHolder instanceof RecommendVideoAdHolder) {//广告 final RecommendVideoAdHolder holder = (RecommendVideoAdHolder) viewHolder; holder.fl_container.removeAllViews(); final ExpressAdContainer ad = content.getAd(); if (ad == null) {//广告为空 holder.view.setVisibility(View.GONE); } else { holder.view.setVisibility(View.VISIBLE); if (ad.getGdt() != null) { holder.rl_container.setRatio(0.88f); holder.tv_movie_title.setVisibility(View.GONE); // ad.getGdt().setAdEventListener(new AdEventListener() { // @Override // public void onClick() { // // } // // @Override // public void onExposed() { // // } // // @Override // public void onRenderSuccess() { // holder.fl_container.addView(ad.getGdt().getAdView()); // } // // @Override // public void onRenderFail() { // // } // // @Override // public void onAdClosed() { // ad.getGdt().destroy(); // contentList.remove(content); // notifyDataSetChanged(); // } // }); ad.getGdt().render(); holder.fl_container.addView(ad.getGdt()); holder.tv_movie_play_num.setText("112"); } else if (ad.getCsj() != null) { holder.rl_container.setRatio(0.88f); holder.tv_movie_title.setVisibility(View.GONE); ad.getCsj().setDislikeCallback(mContext, new TTAdDislike.DislikeInteractionCallback() { @Override public void onSelected(int i, String s) { contentList.remove(content); notifyDataSetChanged(); } @Override public void onCancel() { } @Override public void onRefuse() { } }); ad.getCsj().render(); holder.fl_container.addView(ad.getCsj().getExpressAdView()); } } } } @Override public int getItemCount() { int count = contentList.size(); if (count > maxItemNum) return maxItemNum; else return count % 2 == 0 ? count : count - 1; } @Override public int getItemViewType(int position) { return this.contentList.get(position).getType(); } private void myClick(VideoInfo info, final View v) { Intent intent = new Intent(v.getContext(), VideoDetailActivity2.class); intent.putExtra("video_info", info); intent.putExtra("from", "recommend"); v.getContext().startActivity(intent); } } BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchActivity.java
@@ -20,6 +20,7 @@ import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.EditText; import android.widget.FrameLayout; import android.widget.GridView; import android.widget.ImageView; @@ -59,7 +60,7 @@ public class SearchActivity extends BaseActivity implements OnClickListener { private AutoCompleteTextView et_search_key; private EditText et_search_key; private TextView tv_clear; @@ -71,7 +72,11 @@ private LinearLayout ll_search_history; private SearchSuggestFragment suggestFragment; private String value = ""; private boolean touchSearchInput = false; private void initView() { fl_advertisement = findViewById(R.id.fl_advertisement); @@ -90,6 +95,7 @@ setContentView(R.layout.search_actvity); initStatusBar(); initView(); suggestFragment = new SearchSuggestFragment(); et_search_key.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override @@ -139,6 +145,8 @@ public void afterTextChanged(Editable s) { if (!TextUtils.isEmpty(s.toString()) || !TextUtils.isEmpty(et_search_key.getHint())) { suggestSearch(s.toString()); et_search_key.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_clear, 0); @@ -161,21 +169,6 @@ // tv_search_cancel.setText(R.string.cancel); } et_search_key.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (parent.getItemAtPosition(position) != null) { Intent intent = new Intent(SearchActivity.this, SearchResultActivity.class); intent.putExtra("key", parent.getItemAtPosition(position) .toString()); startActivity(intent); } } }); et_search_key.setOnTouchListener(new OnTouchListener() { @Override @@ -183,6 +176,14 @@ // getCompoundDrawables() 可以获取一个长度为4的数组, // 存放drawableLeft,Right,Top,Bottom四个图片资源对象 // index=2 表示的是 drawableRight 图片资源对象 if (et_search_key.isFocused()) { findViewById(R.id.fl_suggest).setVisibility(View.VISIBLE); getSupportFragmentManager().beginTransaction().replace(R.id.fl_suggest, suggestFragment).commitAllowingStateLoss(); } else { findViewById(R.id.fl_suggest).setVisibility(View.GONE); getSupportFragmentManager().beginTransaction().remove(suggestFragment).commitAllowingStateLoss(); } Drawable drawable = et_search_key.getCompoundDrawables()[2]; if (drawable == null) return false; @@ -199,6 +200,7 @@ return false; } }); gv_hot_search.setOnItemClickListener(new OnItemClickListener() { @@ -279,10 +281,10 @@ .getJSONObject("Data").getJSONArray("data") .toString(), new TypeToken<List<String>>() { }.getType()); SuggestKeysAdapter adapter = new SuggestKeysAdapter(getApplicationContext(), results); et_search_key.setAdapter(adapter); adapter.notifyDataSetChanged(); suggestFragment.setData(key, results); // SuggestKeysAdapter adapter = new SuggestKeysAdapter(getApplicationContext(), results); // et_search_key.setAdapter(adapter); // adapter.notifyDataSetChanged(); } } }); @@ -352,7 +354,7 @@ fl_advertisement.post(new Runnable() { @Override public void run() { int width = fl_advertisement.getWidth()-fl_advertisement.getPaddingLeft()-fl_advertisement.getPaddingRight(); int width = fl_advertisement.getWidth() - fl_advertisement.getPaddingLeft() - fl_advertisement.getPaddingRight(); new ExpressAdManager(adType, getApplicationContext()).loadSearchAd(DimenUtils.px2dip(getApplicationContext(), width), new ExpressAdManager.IAdLoadListener() { @Override public void onSuccess(List<ExpressAdContainer> adList) { BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/SearchSuggestFragment.java
New file @@ -0,0 +1,145 @@ package com.weikou.beibeivideo.ui.recommend; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.Html; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.lcjian.library.RetainViewFragment; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.util.DimenUtils; import com.weikou.beibeivideo.util.ui.DividerItemDecoration; import java.util.ArrayList; import java.util.List; /** * 搜索建议 */ public class SearchSuggestFragment extends RetainViewFragment { private RecyclerView rv_suggest; private List<String> mList = null; private String key; private SearchSuggestAdapter adapter; @Override public void onCreateView(View contentView, Bundle savedInstanceState) { rv_suggest = contentView.findViewById(R.id.rv_suggest); rv_suggest.setLayoutManager(new LinearLayoutManager(getContext())); DividerItemDecoration decoration = new DividerItemDecoration(); decoration.setSize(1); rv_suggest.addItemDecoration(decoration); initData(); } private void initData() { mList = new ArrayList<>(); adapter = new SearchSuggestAdapter(getContext(), mList); rv_suggest.setAdapter(adapter); } public void setData(String key, List<String> list) { this.key = key; if (mList == null) { initData(); } mList.clear(); mList.addAll(list); adapter.notifyDataSetChanged(); } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); } @Override public int getContentResource() { return R.layout.fragment_search_suggest; } @Override public void onResume() { super.onResume(); } public class SearchSuggestAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context mContext; private List<String> mList; private LayoutInflater inflater; public SearchSuggestAdapter(Context mContext, List<String> list) { this.mContext = mContext; this.mList = list; inflater = LayoutInflater.from(mContext); } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { return new ViewHolder(inflater.inflate(R.layout.item_search_suggest, null, true)); } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { ViewHolder viewHolder = (ViewHolder) holder; String st = mList.get(position); int start = st.indexOf(key); if (start > -1) { String fst = st.substring(0, start) + "<font color='#0052F6'>" + key + "</font>" + st.substring(start + key.length(), st.length()); viewHolder.tv_content.setText(Html.fromHtml(fst)); } else { viewHolder.tv_content.setText(st); } viewHolder.view.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)); viewHolder.view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(mContext, SearchResultActivity.class); intent.putExtra("key", st); startActivity(intent); } }); } @Override public int getItemCount() { return mList.size(); } class ViewHolder extends RecyclerView.ViewHolder { TextView tv_content; View view; public ViewHolder(View view) { super(view); tv_content = view.findViewById(R.id.tv_content); this.view = view; } } } } BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoCloumn1Adapter.java
@@ -19,6 +19,7 @@ import com.weikou.beibeivideo.ui.media.VideoDetailActivity2; import com.weikou.beibeivideo.util.ad.ExpressAdManager; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.util.video.VideoUIUtil; import java.text.DecimalFormat; import java.util.List; @@ -92,27 +93,12 @@ if (holder instanceof VideoHolder) { final VideoInfo info = videoContent.getVideo(); VideoHolder viewHolder = (VideoHolder) holder; try { Glide.with(mContext).load(info.getPicture()).transition(withCrossFade()).placeholder(R.drawable.ic_default_cover).into(viewHolder.iv_movie_cover); } catch (IllegalArgumentException e) { e.printStackTrace(); } viewHolder.tv_movie_title.setText(info.getName() + ""); viewHolder.tv_movie_rating.setText(StringUtils.isEmpty(info.getTag()) ? "" : info.getTag()); DecimalFormat df = new DecimalFormat("###.0"); viewHolder.tv_movie_play_num.setText(StringUtils.isBlank(info .getWatchCount()) ? "0" : (Integer.parseInt(info .getWatchCount())) / 10000 > 0 ? df.format(Integer.parseInt(info .getWatchCount()) / 10000f) + "万" : info .getWatchCount() + ""); viewHolder.tv_movie_comment_num.setText(info.getCommentCount()); viewHolder.view.setOnClickListener(new View.OnClickListener() { VideoUIUtil.setVideoListItem(mContext, viewHolder, new View.OnClickListener() { @Override public void onClick(View v) { myClick(info, v); } }); }, info,1); } else if (holder instanceof VideoAdHolder) { final VideoAdHolder viewHolder = (VideoAdHolder) holder; final ExpressAdContainer ad = videoContent.getAd(); BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoColumn2Adapter.java
@@ -40,6 +40,7 @@ import com.weikou.beibeivideo.util.ad.GDTConstant; import com.weikou.beibeivideo.util.ad.GDTNativeADUnifiedManager; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.util.video.VideoUIUtil; import java.text.DecimalFormat; import java.util.ArrayList; @@ -78,6 +79,35 @@ this.footerView = footerView; } RecyclerView.ItemDecoration itemDecorationRow = new RecyclerView.ItemDecoration() { @Override public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { super.onDraw(c, parent, state); } @Override public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) { super.onDrawOver(c, parent, state); } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); int index = parent.getChildAdapterPosition(view); int total = parent.getAdapter().getItemCount(); int minWidth = DimenUtils.dipToPixels(2, view.getContext()); if (index == 0) { outRect.left = minWidth * 2; //第一列左边贴边 outRect.right = minWidth; } else if (index == total - 1) { outRect.right = minWidth; outRect.left = minWidth; } else { outRect.right = minWidth * 2; //第一列左边贴边 outRect.left = minWidth; } } }; RecyclerView.ItemDecoration itemDecoration2 = new RecyclerView.ItemDecoration() { @Override public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { @@ -121,37 +151,6 @@ } } }; RecyclerView.ItemDecoration itemDecorationRow = new RecyclerView.ItemDecoration() { @Override public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { super.onDraw(c, parent, state); } @Override public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) { super.onDrawOver(c, parent, state); } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); int index = parent.getChildAdapterPosition(view); int total = parent.getAdapter().getItemCount(); int minWidth = DimenUtils.dipToPixels(2, view.getContext()); if (index == 0) { outRect.left = minWidth * 2; //第一列左边贴边 outRect.right = minWidth; } else if (index == total - 1) { outRect.right = minWidth; outRect.left = minWidth; } else { outRect.right = minWidth * 2; //第一列左边贴边 outRect.left = minWidth; } } }; RecyclerView.ItemDecoration itemDecoration3 = new RecyclerView.ItemDecoration() { @Override public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { @@ -168,7 +167,7 @@ super.getItemOffsets(outRect, view, parent, state); int index = parent.getChildAdapterPosition(view); int total = parent.getAdapter().getItemCount(); int minWidth = DimenUtils.dipToPixels(1, view.getContext()); int minWidth = DimenUtils.dipToPixels(2, view.getContext()); if (index % 3 == 0) { outRect.left = 0; //第一列左边贴边 outRect.right = minWidth * 2; @@ -414,66 +413,17 @@ VideoHolder holder = (VideoHolder) viewHolder; final VideoInfo info = content.getVideo(); //设置内容 holder.ll_video_show.setVisibility(View.VISIBLE); String defaultPicture = ""; if (columns == 2) { defaultPicture = info.getHpicture(); } else if (columns == 3) { defaultPicture = info.getVpicture(); } VideoUIUtil.setVideoListItem(mContext, holder, new View.OnClickListener() { @Override public void onClick(final View v) { //跳转到商品视频播放页 if (itemClickListener == null) myClick(info, v); else itemClickListener.onClick(info); } }, info, columns); if (StringUtils.isEmpty(defaultPicture)) { defaultPicture = info.getPicture(); } try { Glide.with(mContext).load(defaultPicture).transition(withCrossFade()) .apply(new RequestOptions().placeholder(R.drawable.shape_default_cover).error(R.drawable.shape_default_cover)) .into(new DrawableImageViewTarget(holder.iv_movie_cover, true)); } catch (IllegalArgumentException e) { e.printStackTrace(); } //vip标识 if (info.getFree() == 1) { holder.iv_vip.setVisibility(View.VISIBLE); } else { holder.iv_vip.setVisibility(View.GONE); } holder.tv_movie_title.setText(info.getName()); String tag = StringUtils.isBlank(info.getTag()) ? "" : info .getTag(); holder.tv_movie_rating.setText(tag); if (StringUtils.isBlank(tag)) { holder.tv_movie_rating.setVisibility(View.GONE); } else { holder.tv_movie_rating.setVisibility(View.VISIBLE); } DecimalFormat df = new DecimalFormat("###.0"); holder.tv_movie_play_num.setText(VideoUtil.getWatchCountShortName(info.getWatchCount())); holder.tv_movie_comment_num.setText(StringUtils.isBlank(info.getCommentCount()) ? "0" : info.getCommentCount()); holder.ll_video_show .setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { //跳转到商品视频播放页 if (itemClickListener == null) myClick(info, v); else itemClickListener.onClick(info); } }); holder.tv_movie_play_num.setVisibility(View.GONE); if (columns == 2) { holder.rl_ratio.setRatio(0.625f); } else if (columns == 3) { holder.rl_ratio.setRatio(1.4f); } } else if (viewHolder instanceof RecommendVideoAdHolder) {//广告 final RecommendVideoAdHolder holder = (RecommendVideoAdHolder) viewHolder; BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoRecommendAdapter.java
@@ -34,6 +34,7 @@ import com.weikou.beibeivideo.util.ad.ExpressAdManager; import com.weikou.beibeivideo.util.ad.GDTConstant; import com.weikou.beibeivideo.util.ad.GDTNativeADUnifiedManager; import com.weikou.beibeivideo.util.video.VideoUIUtil; import java.text.DecimalFormat; import java.util.ArrayList; @@ -74,6 +75,35 @@ this.footerView = footerView; } RecyclerView.ItemDecoration itemDecorationRow = new RecyclerView.ItemDecoration() { @Override public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { super.onDraw(c, parent, state); } @Override public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) { super.onDrawOver(c, parent, state); } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); int index = parent.getChildAdapterPosition(view); int total = parent.getAdapter().getItemCount(); int minWidth = DimenUtils.dipToPixels(3, view.getContext()); if (index == 0) { outRect.left = minWidth * 2; //第一列左边贴边 outRect.right = minWidth; } else if (index == total - 1) { outRect.right = minWidth; outRect.left = minWidth; } else { outRect.right = minWidth * 2; //第一列左边贴边 outRect.left = minWidth; } } }; RecyclerView.ItemDecoration itemDecoration2 = new RecyclerView.ItemDecoration() { @Override public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { @@ -90,7 +120,7 @@ super.getItemOffsets(outRect, view, parent, state); int index = parent.getChildAdapterPosition(view); int total = parent.getAdapter().getItemCount(); int minWidth = DimenUtils.dipToPixels(2, view.getContext()); int minWidth = DimenUtils.dipToPixels(3, view.getContext()); GridLayoutManager.SpanSizeLookup lookup = ((GridLayoutManager) parent.getLayoutManager()).getSpanSizeLookup(); int size = lookup.getSpanSize(index); @@ -149,35 +179,6 @@ } }; RecyclerView.ItemDecoration itemDecorationRow = new RecyclerView.ItemDecoration() { @Override public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { super.onDraw(c, parent, state); } @Override public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) { super.onDrawOver(c, parent, state); } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); int index = parent.getChildAdapterPosition(view); int total = parent.getAdapter().getItemCount(); int minWidth = DimenUtils.dipToPixels(2, view.getContext()); if (index == 0) { outRect.left = minWidth * 2; //第一列左边贴边 outRect.right = minWidth; } else if (index == total - 1) { outRect.right = minWidth; outRect.left = minWidth; } else { outRect.right = minWidth * 2; //第一列左边贴边 outRect.left = minWidth; } } }; RecyclerView.ItemDecoration itemDecoration3 = new RecyclerView.ItemDecoration() { @Override @@ -195,7 +196,7 @@ super.getItemOffsets(outRect, view, parent, state); int index = parent.getChildAdapterPosition(view); int total = parent.getAdapter().getItemCount(); int minWidth = DimenUtils.dipToPixels(1, view.getContext()); int minWidth = DimenUtils.dipToPixels(2, view.getContext()); if (index % 3 == 0) { outRect.left = 0; //第一列左边贴边 outRect.right = minWidth * 2; @@ -458,70 +459,16 @@ if (viewHolder instanceof VideoHolder) { VideoHolder holder = (VideoHolder) viewHolder; final VideoInfo info = content.getVideo(); //设置内容 holder.ll_video_show.setVisibility(View.VISIBLE); String defaultPicture = ""; if (columns == 2) { defaultPicture = info.getHpicture(); } else if (columns == 3) { defaultPicture = info.getVpicture(); } if (StringUtils.isEmpty(defaultPicture)) { defaultPicture = info.getPicture(); } try { Glide.with(mContext).load(defaultPicture).transition(withCrossFade()) .apply(new RequestOptions().placeholder(R.drawable.shape_default_cover).error(R.drawable.shape_default_cover)) .into(new DrawableImageViewTarget(holder.iv_movie_cover, true)); } catch (IllegalArgumentException e) { e.printStackTrace(); } //vip标识 if (info.getFree() == 1) { holder.iv_vip.setVisibility(View.VISIBLE); } else { holder.iv_vip.setVisibility(View.GONE); } holder.tv_movie_title.setText(info.getName()); String tag = StringUtils.isBlank(info.getTag()) ? "" : info .getTag(); holder.tv_movie_rating.setText(tag); if (StringUtils.isBlank(tag)) { holder.tv_movie_rating.setVisibility(View.GONE); } else { holder.tv_movie_rating.setVisibility(View.VISIBLE); } DecimalFormat df = new DecimalFormat("###.0"); holder.tv_movie_play_num.setText(VideoUtil.getWatchCountShortName(info.getWatchCount())); holder.tv_movie_comment_num.setText(StringUtils.isBlank(info.getCommentCount()) ? "0" : info.getCommentCount()); holder.ll_video_show .setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { //跳转到商品视频播放页 if (itemClickListener == null) myClick(info, v); else itemClickListener.onClick(info); } }); holder.tv_movie_play_num.setVisibility(View.GONE); if (columns == 2) { holder.rl_ratio.setRatio(0.625f); } else if (columns == 3) { holder.rl_ratio.setRatio(1.4f); } else { holder.rl_ratio.setRatio(0.625f); } VideoUIUtil.setVideoListItem(mContext, holder, new View.OnClickListener() { @Override public void onClick(final View v) { //跳转到商品视频播放页 if (itemClickListener == null) myClick(info, v); else itemClickListener.onClick(info); } }, info, columns); } else if (viewHolder instanceof RecommendVideoAdHolder) {//广告 final RecommendVideoAdHolder holder = (RecommendVideoAdHolder) viewHolder; if (columns == 2) { BuWanVideo/src/com/weikou/beibeivideo/util/GlideCircleTransform.java
File was deleted BuWanVideo/src/com/weikou/beibeivideo/util/GlideRoundTransform.java
File was deleted BuWanVideo/src/com/weikou/beibeivideo/util/video/VideoUIUtil.java
New file @@ -0,0 +1,176 @@ package com.weikou.beibeivideo.util.video; import android.content.Context; import android.text.SpannableString; import android.text.Spanned; import android.text.style.AbsoluteSizeSpan; import android.view.View; import com.bumptech.glide.Glide; import com.bumptech.glide.load.resource.bitmap.CenterCrop; import com.bumptech.glide.request.RequestOptions; import com.lcjian.library.util.common.DimenUtils; import com.lcjian.library.util.common.StringUtils; import com.lcjian.library.util.glide.GlideRoundTransform; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.HomeVideo; import com.weikou.beibeivideo.entity.VideoInfo; import com.weikou.beibeivideo.entity.video.holder.VideoHolder; import java.text.DecimalFormat; import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade; public class VideoUIUtil { public static void setVideoListItem(Context mContext, VideoHolder viewHolder, View.OnClickListener itemOnClickListener, final VideoInfo info, int columns) { viewHolder.ll_video_show.setVisibility(View.VISIBLE); if (columns == 2) { viewHolder.rl_ratio.setRatio(0.625f); } else if (columns == 3) { viewHolder.rl_ratio.setRatio(1.4f); } else { viewHolder.rl_ratio.setRatio(0.625f); } String picture = ""; if (columns == 2) { picture = info.getHpicture(); } else if (columns == 3) { picture = info.getVpicture(); } if (StringUtils.isEmpty(picture)) { picture = info.getPicture(); } viewHolder.rl_ratio.setTag(picture); viewHolder.rl_ratio.post(new Runnable() { @Override public void run() { try { Glide.with(mContext).load(viewHolder.rl_ratio.getTag() + "").apply(new RequestOptions().centerCrop()).transform(new GlideRoundTransform(mContext, 6)).transition(withCrossFade()).placeholder(R.drawable.shape_video_list_cover_placeholder).into(viewHolder.iv_movie_cover); } catch (IllegalArgumentException e) { e.printStackTrace(); } } }); if (info.getTag() != null && info.getTag().contains("评分")) { info.setTag(""); } viewHolder.tv_movie_title.setText(info.getName() + ""); viewHolder.tv_tag.setText(StringUtils.isEmpty(info.getTag()) ? "" : info.getTag()); viewHolder.view.setOnClickListener(itemOnClickListener); viewHolder.tv_tag.setText(info.getTag()); if (StringUtils.isBlank(info.getTag())) { viewHolder.tv_tag.setVisibility(View.INVISIBLE); } else { viewHolder.tv_tag.setVisibility(View.VISIBLE); } info.setScore("9.6"); if (!StringUtils.isEmpty(info.getScore())) { viewHolder.tv_score.setVisibility(View.VISIBLE); //改变 SpannableString spannableString = new SpannableString(info.getScore() + "分"); spannableString.setSpan(new AbsoluteSizeSpan(DimenUtils.spToPixels(13, mContext)), 0, 1, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); viewHolder.tv_score.setText(spannableString); } else { viewHolder.tv_score.setVisibility(View.INVISIBLE); } if (viewHolder.tv_tag.getVisibility() == View.INVISIBLE && viewHolder.tv_score.getVisibility() == View.INVISIBLE) { viewHolder.ll_tag_container.setVisibility(View.GONE); } else { viewHolder.ll_tag_container.setVisibility(View.VISIBLE); } //vip标识 if (info != null && info.getFree() == 1) { viewHolder.iv_vip.setVisibility(View.VISIBLE); } else { viewHolder.iv_vip.setVisibility(View.GONE); } if (info != null && info.getDefinition() == 1) { viewHolder.iv_high.setVisibility(View.VISIBLE); } else { viewHolder.iv_high.setVisibility(View.GONE); } info.setSubTitle("副标题副标题副标题副标题副标题副标题副标题"); viewHolder.tv_movie_sub_title.setText(info.getSubTitle()==null?"":info.getSubTitle()); } public static void setHomeVideoListItem(Context mContext, VideoHolder holder, View.OnClickListener itemOnClickListener, HomeVideo info, boolean big) { //设置内容 holder.ll_video_show.setVisibility(View.VISIBLE); if (StringUtils.isEmpty(info.getPicture())) { Glide.with(mContext).load(info.getVideo().getPicture()) .apply(new RequestOptions().centerCrop().transform(new GlideRoundTransform(mContext, big ? 8 : 6)).placeholder(R.drawable.ic_default_cover).error(R.drawable.ic_default_cover)) .into(holder.iv_movie_cover); } else { try { Glide.with(mContext).load(info.getPicture()) .apply(new RequestOptions().centerCrop().transform(new GlideRoundTransform(mContext, big ? 8 : 6)).placeholder(R.drawable.ic_default_cover).error(R.drawable.ic_default_cover)) .into(holder.iv_movie_cover); } catch (IllegalArgumentException e) { e.printStackTrace(); } } holder.tv_movie_title.setText(info.getVideo().getName()); String tag = StringUtils.isBlank(info .getVideo().getTag()) ? "" : info.getVideo() .getTag(); holder.tv_tag.setText(tag); if (StringUtils.isBlank(tag)) { holder.tv_tag.setVisibility(View.GONE); } else { holder.tv_tag.setVisibility(View.VISIBLE); } if (!StringUtils.isEmpty(info.getVideo().getScore())) { holder.tv_score.setVisibility(View.VISIBLE); //改变 SpannableString spannableString = new SpannableString(info.getVideo().getScore() + "分"); spannableString.setSpan(new AbsoluteSizeSpan(DimenUtils.spToPixels(13, mContext)), 0, 1, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); holder.tv_score.setText(spannableString); } else { holder.tv_score.setVisibility(View.GONE); } if (holder.tv_tag.getVisibility() == View.GONE && holder.tv_score.getVisibility() == View.GONE) { holder.ll_tag_container.setVisibility(View.GONE); } else { holder.ll_tag_container.setVisibility(View.VISIBLE); } //vip标识 if (info.getVideo() != null && info.getVideo().getFree() == 1) { holder.iv_vip.setVisibility(View.VISIBLE); } else { holder.iv_vip.setVisibility(View.GONE); } if (info.getVideo() != null && info.getVideo().getDefinition() == 1) { holder.iv_high.setVisibility(View.VISIBLE); } else { holder.iv_high.setVisibility(View.GONE); } holder.ll_video_show .setOnClickListener(itemOnClickListener); } } library-BaiduCPU/src/main/java/com/yeshi/ec/library_baiducpu/fragment/BaiDuCPUContentFragment.java
@@ -118,7 +118,7 @@ ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); footerView.setLayoutParams(params); footerView.setText("努力加载中..."); footerView.setTextColor(Color.WHITE); footerView.setTextColor(Color.parseColor("#9FA5B3")); int padding = DimenUtils.dip2px(getContext(), 10); footerView.setPadding(padding, padding, padding, padding); footerView.setGravity(Gravity.CENTER); library-BaiduCPU/src/main/res/drawable-xhdpi/new_bg_logo.pnglibrary-BaiduCPU/src/main/res/layout/fragment_baidu_news_root.xml
@@ -5,27 +5,16 @@ android:orientation="vertical"> <FrameLayout android:background="#FFFFFF" android:id="@+id/fl_indicator" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="-10dp" android:layout_marginBottom="-13dp"> <com.viewpagerindicator.FoundTabPageIndicator android:id="@+id/indicator" style="@style/NewsPageIndicator" android:layout_width="match_parent" android:layout_height="wrap_content"> </com.viewpagerindicator.FoundTabPageIndicator> android:paddingTop="3dp" android:paddingBottom="8dp"> </FrameLayout> <View android:layout_width="match_parent" android:layout_height="1px" android:background="#616161" /> <android.support.v4.view.ViewPager android:id="@+id/vp_news" library-BaiduCPU/src/main/res/layout/item_baidu_news.xml
@@ -3,6 +3,6 @@ android:id="@+id/native_outer_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#1F1F1F"> android:background="@color/vpi_bg_white"> </RelativeLayout> library-BaiduCPU/src/main/res/layout/item_baidu_video.xml
@@ -92,7 +92,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:textColor="#ffffff"></TextView> android:textColor="@color/item_sub_title"></TextView> </LinearLayout> @@ -106,7 +106,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="精选推荐" android:textColor="#ffffff"></TextView> android:textColor="@color/item_sub_title"></TextView> <ImageView @@ -120,7 +120,7 @@ android:layout_height="wrap_content" android:layout_marginLeft="2dp" android:text="广告" android:textColor="#ffffff"></TextView> android:textColor="@color/item_sub_title"></TextView> </LinearLayout> library-BaiduCPU/src/main/res/layout/native_cpu_view.xml
@@ -11,7 +11,7 @@ <TextView android:id="@+id/top_text_view" android:maxLines="2" android:textColor="#FFFFFF" android:textColor="@color/item_title" android:layout_marginTop="4dp" android:layout_marginBottom="4dp" android:textSize="@dimen/baidu_cpu_title" @@ -96,7 +96,7 @@ <TextView android:id="@+id/app_name" android:hint="广告的品牌名称" android:textColor="#999999" android:textColor="@color/item_sub_title" android:textSize="12sp" android:visibility="visible" android:layout_alignParentLeft="true" @@ -108,7 +108,7 @@ <TextView android:id="@+id/app_version" android:hint="版本号" android:textColor="#999999" android:textColor="@color/item_sub_title" android:textSize="12sp" android:visibility="visible" android:layout_toRightOf="@id/app_name" @@ -121,7 +121,7 @@ <TextView android:id="@+id/privacy_link" android:text="隐私" android:textColor="#999999" android:textColor="@color/item_sub_title" android:textSize="12sp" android:layout_toRightOf="@id/app_version" android:layout_alignBaseline="@id/app_version" @@ -132,7 +132,7 @@ <TextView android:id="@+id/permission_link" android:text="权限" android:textColor="#999999" android:textColor="@color/item_sub_title" android:textSize="12sp" android:layout_toRightOf="@id/privacy_link" android:layout_alignBaseline="@id/app_version" @@ -142,7 +142,7 @@ <TextView android:id="@+id/app_publisher" android:hint="开发者" android:textColor="#999999" android:textColor="@color/item_sub_title" android:textSize="12sp" android:layout_below="@id/app_version" android:layout_marginTop="4dp" @@ -199,7 +199,7 @@ android:id="@+id/bottom_first_text" android:layout_alignParentLeft="true" android:singleLine="true" android:textColor="@color/gray" android:textColor="@color/item_sub_title" android:textSize="12sp" android:layout_marginRight="4dp" android:layout_width="wrap_content" @@ -209,7 +209,7 @@ android:id="@+id/bottom_second_text" android:layout_toRightOf="@id/bottom_first_text" android:singleLine="true" android:textColor="@color/gray" android:textColor="@color/item_sub_title" android:textSize="12sp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> library-BaiduCPU/src/main/res/values/colors.xml
@@ -1,6 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <resources> <color name="img_bg">#ff333333</color> <color name="item_title">#000000</color> <color name="item_sub_title">#979FB1</color> </resources> library-common/src/com/lcjian/library/util/glide/GlideRoundTransform.java
@@ -11,6 +11,7 @@ import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; import com.bumptech.glide.load.resource.bitmap.TransformationUtils; import com.bumptech.glide.util.Util; import java.io.UnsupportedEncodingException; @@ -48,7 +49,9 @@ @Override protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) { return roundCrop(pool, toTransform); //处理centercrop Bitmap bitmap = TransformationUtils.centerCrop(pool, toTransform, outWidth, outHeight); return roundCrop(pool, bitmap == null ? toTransform : bitmap); } private static Bitmap roundCrop(BitmapPool pool, Bitmap source) {