廣告輪播圖

輪播圖使用ViewPager來(lái)實(shí)現(xiàn)诱担,我沒(méi)有抽取為view,直接在activity中實(shí)現(xiàn)


public class MainActivity extends Activity implements OnPageChangeListener {

//創(chuàng)建數(shù)組存儲(chǔ)圖片ID

? ? private int[] img={R.drawable.icon_1,R.drawable.icon_2,R.drawable.icon_3,R.drawable.icon_4,R.drawable.icon_5};

//圖片標(biāo)題

? ? private String[] str={"為夢(mèng)想堅(jiān)持", "我相信我", "為公開(kāi)課而生", "Google IO", "輕松1w+"};

? ?private ViewPager mViewpager;

? ? private TextView mText;

? ? private LinearLayout mContainer;

? ? private int mLastPosition=0;

? ? @Override

? ?protected void onCreate(Bundle savedInstanceState) {

? ? ? ?super.onCreate(savedInstanceState);

? ? ? ?setContentView(R.layout.activity_main);

? ? ? ?initView();

? ? ? ? ? initData();

? ? ? ? ? initListener();

? ?}

//獲取控件對(duì)象

? ?public void initView() {

? ? mViewpager = (ViewPager) findViewById(R.id.view_pager);

? ? mText = (TextView) findViewById(R.id.text);

? ? mContainer = (LinearLayout) findViewById(R.id.dots_container);

? ? }

? ? public void initData() {

? ? ? ? ? mViewpager.setAdapter(new MyAdapter());

? ? ? ? ? //計(jì)算第一次出現(xiàn)的圖

? ? ? ? ? int position=Integer.MAX_VALUE/2-(Integer.MAX_VALUE/2%img.length);

? ? ? ? ? //設(shè)置第一次出現(xiàn)的位置

? ? ? ? ? mViewpager.setCurrentItem(position);

? ? ? ? ? mText.setText(str[0]);

? ? ? ? ? //動(dòng)態(tài)的添加點(diǎn)

? ? ? ? ? for (int i = 0; i < img.length; i++) {

? ? ? ? ? ? ? ?View view=new View(this);

? ? ? ? ? ? ? ?//將dp變成像素

? ? ? ? ? ? ? ?int size = getResources().getDimensionPixelSize(R.dimen.size);

? ? ? ? ? ? ? ?LinearLayout.LayoutParams layout=new LinearLayout.LayoutParams(size, size);

? ? ? ? ? ? ? ?if(i!=img.length-1){

? ? ? ? ? ? ? ? ? ? layout.rightMargin=size;

? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ?view.setLayoutParams(layout);

? ? ? ? ? ? ? ?if(i==0){

? ? ? ? ? ? ? ? ? ? view.setBackgroundResource(R.drawable.bg_dot_selected);

? ? ? ? ? ? ? ?}else{

? ? ? ? ? ? ? ? ? ? view.setBackgroundResource(R.drawable.bg_dot_normal);

? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ?mContainer.addView(view);

? ? ? ? ? }

? ? }

? ? public void initListener() {

? ? ? ? ? mViewpager.setOnPageChangeListener(this);

? ? }

? ? public class MyAdapter extends PagerAdapter{

? ? ? ? ? @Override

? ? ? ? ? public int getCount() {

? ? ? ? ? ? ? ?return Integer.MAX_VALUE;

? ? ? ? ? }

? ? ? ? ? @Override

? ? ? ? ? public boolean isViewFromObject(View view, Object object) {

? ? ? ? ? ? ? ?return view==object;

? ? ? ? ? }

? ? ? ? ? //初始化一個(gè)界面

? ? ? ? ? @Override

? ? ? ? ? public Object instantiateItem(ViewGroup container, int position) {

? ? ? ? ? ? ? ?int num=position%img.length;

? ? ? ? ? ? ? ?ImageView view=new ImageView(getApplicationContext());

? ? ? ? ? ? ? ?view.setImageResource(img[num]);

? ? ? ? ? ? ? ?mViewpager.addView(view);

? ? ? ? ? ? ? ?return view;

? ? ? ? ? }

? ? ? ? ? //銷毀一個(gè)界面

? ? ? ? ? @Override

? ? ? ? ? public void destroyItem(ViewGroup container, int position, Object object) {

? ? ? ? ? ? ? ?mViewpager.removeView((View) object);

? ? ? ? ? }

? ? }

? ? //頁(yè)面滾動(dòng)狀態(tài)的變化

? ? @Override

? ? public void onPageScrollStateChanged(int arg0) {

? ? }

? ? //頁(yè)面滾動(dòng)的時(shí)候調(diào)用

? ? @Override

? ? public void onPageScrolled(int arg0, float arg1, int arg2) {

? ? }

? ? //頁(yè)面被選中的時(shí)候調(diào)用

? ? @Override

? ? public void onPageSelected(int position) {

? ? ? ? ? position = position % img.length;

? ? ? ? ? int num=position%str.length;

? ? ? ? ? mText.setText(str[num]);

? ? ? ? ? if(mLastPosition==position){

? ? ? ? ? ? ? ?return;

? ? ? ? ? }

? ? ? ? ? //更新點(diǎn)

? ? ? ? ? View view = mContainer.getChildAt(position);

? ? ? ? ?view.setBackgroundResource(R.drawable.bg_dot_selected);

? ? ? ? ? //獲取上次的點(diǎn)

? ? ? ? ? View view2 = mContainer.getChildAt(mLastPosition);

? ? ? ? ?view2.setBackgroundResource(R.drawable.bg_dot_normal);

? ? ? ? ? mLastPosition=position;

? ? }

}

-------------------------------------------------------------------

布局

? ?xmlns:tools="http://schemas.android.com/tools"

? ?android:layout_width="match_parent"

? ?android:layout_height="180dp"

? ?tools:context=".MainActivity" >

? ? ? ?android:id="@+id/view_pager"

? ? ? ?android:layout_width="match_parent"

? ? ? ?android:layout_height="match_parent" >

? ? ? ?android:layout_width="match_parent"

? ? ? ?android:layout_height="wrap_content"

? ? ? ?android:layout_alignParentBottom="true"

? ? ? ?android:background="#33999999"

? ? ? ?android:orientation="vertical" >

? ? ? ? ? ?android:id="@+id/text"

? ? ? ? ? ?android:layout_width="wrap_content"

? ? ? ? ? ?android:layout_height="wrap_content"

? ? ? ? ? ?android:layout_gravity="center_horizontal"

? ? ? ? ? ?android:paddingTop="5dp"

? ? ? ? ? ?android:text="哈哈"

? ? ? ? ? ?android:textColor="#ffffff"

? ? ? ? ? ?android:textSize="18sp" />

? ? ? ? ? ?android:id="@+id/dots_container"

? ? ? ? ? ?android:layout_gravity="center_horizontal"

? ? ? ? ? ?android:layout_width="wrap_content"

? ? ? ? ? ?android:layout_marginBottom="10dp"

? ? ? ? ? ?android:layout_height="wrap_content"

? ? ? ? ? ?android:layout_marginTop="5dp"

? ? ? ? ? ?android:orientation="horizontal" >

圖片發(fā)自簡(jiǎn)書(shū)App
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末定血,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子诞外,更是在濱河造成了極大的恐慌糠悼,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浅乔,死亡現(xiàn)場(chǎng)離奇詭異倔喂,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)靖苇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)席噩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人贤壁,你說(shuō)我怎么就攤上這事悼枢。” “怎么了脾拆?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵馒索,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我名船,道長(zhǎng)绰上,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任渠驼,我火速辦了婚禮蜈块,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘迷扇。我一直安慰自己百揭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布蜓席。 她就那樣靜靜地躺著器一,像睡著了一般。 火紅的嫁衣襯著肌膚如雪厨内。 梳的紋絲不亂的頭發(fā)上祈秕,一...
    開(kāi)封第一講書(shū)人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音隘庄,去河邊找鬼踢步。 笑死,一個(gè)胖子當(dāng)著我的面吹牛丑掺,可吹牛的內(nèi)容都是我干的获印。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼兼丰!你這毒婦竟也來(lái)了玻孟?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鳍征,失蹤者是張志新(化名)和其女友劉穎黍翎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體艳丛,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡匣掸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了氮双。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碰酝。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖戴差,靈堂內(nèi)的尸體忽然破棺而出送爸,到底是詐尸還是另有隱情,我是刑警寧澤暖释,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布袭厂,位于F島的核電站,受9級(jí)特大地震影響球匕,放射性物質(zhì)發(fā)生泄漏纹磺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一谐丢、第九天 我趴在偏房一處隱蔽的房頂上張望爽航。 院中可真熱鬧,春花似錦乾忱、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至趟卸,卻和暖如春蹄葱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锄列。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工图云, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人邻邮。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓竣况,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親筒严。 傳聞我的和親對(duì)象是個(gè)殘疾皇子丹泉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 本人初學(xué)Android情萤,最近做了一個(gè)實(shí)現(xiàn)安卓簡(jiǎn)單音樂(lè)播放功能的播放器,收獲不少摹恨,于是便記錄下來(lái)自己的思路與知識(shí)總結(jié)...
    落日柳風(fēng)閱讀 19,098評(píng)論 2 41
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程筋岛,因...
    小菜c閱讀 6,377評(píng)論 0 17
  • 他們說(shuō),我和他們不一樣晒哄。 我聽(tīng)不見(jiàn)他們說(shuō)話睁宰,我也無(wú)法和他們進(jìn)行交流,所以寝凌,我沒(méi)有朋友勋陪。 但是,在我的世界里硫兰,我聽(tīng)到...
    庭月若然閱讀 905評(píng)論 11 6
  • 今年年尾的日子似乎特別的好诅愚,時(shí)不時(shí)就有一顆紅色炸彈丟過(guò)來(lái)。90后迎來(lái)了結(jié)婚潮劫映,女大當(dāng)嫁的傳統(tǒng)根深蒂固违孝,而我啊嘛催婚...
    二個(gè)姿娘閱讀 396評(píng)論 0 0
  • 吸血鬼吸了狂犬病或者HIV病人的血會(huì)不會(huì)被傳染 好像知道為什么吸血鬼這么少了 吸血鬼曾經(jīng)也輝煌過(guò) 可是他們總在夜晚...
    heim_dn閱讀 561評(píng)論 0 0