您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何在Android應用中利用ViewFlipper實現一個垂直滾動廣告條,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
一、ViewFlipper的布局實現
布局的編寫很簡單,跟普通布局一樣的
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ViewFlipper android:id="@+id/vf" android:layout_width="match_parent" android:layout_height="wrap_content" android:autoStart="true" android:background="#fff" android:flipInterval="3000" android:inAnimation="@anim/anim_marquee_in" android:outAnimation="@anim/anim_marquee_out" android:paddingLeft="30dp" /> </RelativeLayout>
這里介紹ViewFlipper用到的屬性,這些屬性其實都可以使用代碼實現,只不過這里為了代碼看上去美觀,才放在布局里的
android:autoStart:設置自動加載下一個View
android:flipInterval:設置View之間切換的時間間隔
android:inAnimation:設置切換View的進入動畫
android:outAnimation:設置切換View的退出動畫
下面是ViewFlipper常用的方法介紹,除了可以設置上面的屬性之外,還提供了其他方法
這里還涉及到兩個動畫其實就是一個平移的動畫,它們都保存在anim文件夾中
anim_marquee_in.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="1500" android:fromYDelta="100%p" android:toYDelta="0"/> </set>
anim_marquee_out.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="1500" android:fromYDelta="0" android:toYDelta="-100%p"/> </set>
當然,如果你對動畫xml比較熟悉,自己可以實現更多好看的效果
二、自定義ViewFlipper的廣告條
當我們準備好了ViewFlipper之后,就應該在ViewFlipper里面添加我們的廣告條了,下面是其中一個廣告條的布局文件,另外兩個雷同,只不過改了文字而已
<?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="match_parent" android:padding="8dp" android:orientation="vertical"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/marqueeview_bg" android:text="熱議" android:textColor="#F14C00" android:textSize="12sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:padding="3dp" android:singleLine="true" android:text="小米6來了:曉龍835+8G運存!" android:textColor="#333" android:textSize="14sp" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/marqueeview_bg" android:text="熱議" android:textColor="#F14C00" android:textSize="12sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:padding="3dp" android:singleLine="true" android:text="227斤的胖MM,掀起上衣后,美爆全場!" android:textColor="#333" android:textSize="14sp" /> </LinearLayout> </LinearLayout>
其效果是
三、代碼為ViewFlipper添加廣告條
所有的準備條件都準備好了,該開始使用代碼將準備好的東西黏在一起了,代碼很簡單,這里就不多解釋了
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewFlipper vf = (ViewFlipper) findViewById(R.id.vf); vf.addView(View.inflate(this, R.layout.view_advertisement01, null)); vf.addView(View.inflate(this, R.layout.view_advertisement02, null)); vf.addView(View.inflate(this, R.layout.view_advertisement03, null)); } }
關于如何在Android應用中利用ViewFlipper實現一個垂直滾動廣告條就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。