欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Android實(shí)現(xiàn)根據(jù)評分添加星級條

簡述

創(chuàng)新互聯(lián)建站專注于仁和企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城建設(shè)。仁和網(wǎng)站建設(shè)公司,為仁和等地區(qū)提供建站服務(wù)。全流程按需求定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

在仿寫豆瓣的時候,發(fā)現(xiàn)了根據(jù)評分不同,星級數(shù)也不同的星級條。

Android實(shí)現(xiàn)根據(jù)評分添加星級條

百度一搜,發(fā)現(xiàn)Android有自帶控件UIRatingBar,而iOS得要自己寫…好吧,那就寫吧。

圖片素材

首先,要準(zhǔn)備三張圖片,圖片如下:
空星,半星,全星

Android實(shí)現(xiàn)根據(jù)評分添加星級條

因為我們可以看到,在豆瓣的評分星級條里,只有空、半、全星,所以只需要準(zhǔn)備這3種圖片。

思路

豆瓣的星級條中既有圖片,又有文字,所以我們自定義一個繼承于UIView的starView。

初始化方法

因為星級條要根據(jù)評分的數(shù)據(jù)來決定星的顆數(shù),所以我們要重新創(chuàng)建一個初始化方法:

//在starView.m中寫

- (instancetype)initWithFrame:(CGRect)frame score:(double)score;


//在starView.h中對其進(jìn)行操作實(shí)現(xiàn)
- (instancetype)initWithFrame:(CGRect)frame score:(double)score{
 self = [super initWithFrame:frame];
 //記得把傳過來的score賦值給全局變量_starScore
 _starScore = score;
 return self;
}

這樣,我們就可以在ViewController.m中利用此方法初始化一個星級條視圖:

starView *star = [[CJTStarView alloc] initWithFrame:CGRectMake(100, 100, 200, 50) score:6.8];

此處的score可以改成根據(jù)網(wǎng)絡(luò)請求得到的評分?jǐn)?shù)據(jù)。

根據(jù)添加星星圖片

在這里,我設(shè)置的分?jǐn)?shù)與星星的對應(yīng)關(guān)系如下:

4.6-5.5  2.5顆星
5.6-6.5  3顆星
6.6-7.5  3.5顆星
7.6-8.5  4顆星
8.6-9.5  4.5顆星

而因為我們只有5顆星,所以對分?jǐn)?shù)做如下處理:

_starScore = (_starScore / 2 - 0.3);

接下來就是用循環(huán)添加圖片到view上,因為我們有三種圖片,所以在循環(huán)中還要加判斷,代碼如下:

for (int count = 0; count < 5; count++) {
 UIImageView *starImageView = [[UIImageView alloc] init];
 starImageView.frame = CGRectMake(count * self.frame.size.height, 0, self.frame.size.height, self.frame.size.height);
 [self addSubview:starImageView];
 if (count <= _starScore - 0.5) {
  starImageView.image = [UIImage imageNamed:@"stars_full"];
 } else {
  if (_starScore - count >= 0 && _starScore - count < 0.5) {
  starImageView.image = [UIImage imageNamed:@"stars_half"];
  } else {
  starImageView.image = [UIImage imageNamed:@"stars_empty"];
  }
 }
 }

這里的判斷條件是數(shù)學(xué)問題,就不詳細(xì)講了。

當(dāng)然,如果分?jǐn)?shù)與星星的對應(yīng)規(guī)則和我不同,那么就要適當(dāng)修正這里的判斷條件。

在星級條后添加分?jǐn)?shù)

在豆瓣到星級條后面還有分?jǐn)?shù),因此我們在view中添加一個UILabel對象。

UILabel *scoreLabel = [[UILabel alloc] init];
 scoreLabel.frame = CGRectMake( 5 * self.frame.size.height + 10, 8, self.frame.size.width - 5 * self.frame.size.height - 10, self.frame.size.height - 8);
 scoreLabel.text = [NSString stringWithFormat:@"%.1f", _starScore];
 scoreLabel.textColor = [UIColor grayColor];
 scoreLabel.font = [UIFont systemFontOfSize:25];

這里要注意,因為我們在設(shè)置星級圖的時候會修改_starScore的值,所以要在添加星星圖片之前設(shè)置UILabel。

效果圖

最后做出來到效果如下:

Android實(shí)現(xiàn)根據(jù)評分添加星級條

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

新聞標(biāo)題:Android實(shí)現(xiàn)根據(jù)評分添加星級條
地址分享:http://www.aaarwkj.com/article48/pegghp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、網(wǎng)站設(shè)計微信公眾號、搜索引擎優(yōu)化網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
中文字幕一区二区三区精彩视频| 在线观看成人激情视频| 亚洲淫婷婷久久一区二区| 欧美亚洲国产青草久久| 欧美口爆吞精在线观看| 国产精品日韩欧美久久久| 亚洲美女av一区二区三区| 日本激情精品在线观看| 蜜桃传媒18传媒在线| 麻豆精品情欲人妻一区| 日韩欧美亚洲一区二区三区| 国产91人妻精品一区二区三区| 中文字幕亚洲天堂久久| 日韩高清不卡免费视频| 国产精品重口调教系列| 国产精品日韩经典中文字幕| 丰满的熟妇女教师水多| 亚洲国产成人久久综合区| 九九视频在线观看免费专区| 亚洲国产日韩伦中文字幕| 亚洲视频免费在线一区| 亚洲女同在线免费观看| 亚洲黄香蕉视频免费看| 国产无遮挡又黄又爽网站| 免费激情在线视频网址| 亚洲久久精品中文字幕| 色综合久久天天射天天干| 97在线公开免费视频| 国产精品中文字幕有码| 欧美伊人久久综合成人网| 麻豆影片在线免费观看| 国产一区二区av免费| 亚洲av色男人天堂网| 精品国产一区二区三区卡| 日韩在线视频这里只有精品| 少妇特黄a一区二区三区| 中文字幕加勒比东京热| 国产亚洲欧美精品久久久久 | 日韩爱视频一区二区| 成人黄色三级免费网站| 人妻一少妇一区二区三区|