カスタムマルチキャストマップと小さなドットコントロールを簡単に実現
5023 ワード
Androidの開発では、さまざまな技術的な難題に直面するのは避けられない.いくつかの比較的珍しい面白いいくつかの効果.これらの効果はありません.so、私たちは自分でカスタムコントロールを書いて、私たちのニーズを満たすしかありません.
轮播図のコントロール、ネット上で各种のコントロールがあることができることを信じて、しかし、根拠に基づいて、少し会の少しの态度を学んで、コードを発表して、参考に供します
じょうふごう
まず、ビューレイアウト
もちろん、小さなドットは自分で描く必要があります
選択した状態の小さな点
選択されていない状態の小さなドット
カスタムコントロールのコードです
轮播図のコントロール、ネット上で各种のコントロールがあることができることを信じて、しかし、根拠に基づいて、少し会の少しの态度を学んで、コードを発表して、参考に供します
じょうふごう
まず、ビューレイアウト
もちろん、小さなドットは自分で描く必要があります
選択した状態の小さな点
選択されていない状態の小さなドット
以下は選択状態を判断するコード
-
-
カスタムコントロールのコードです
public class Banner extends RelativeLayout {
private MyHandler myHandler = new MyHandler();
// , .
private static LinearLayout ll;
private static ViewPager vp;
private static List imageViews = new ArrayList<>();//
private static List primes = new ArrayList<>();//
private static Context myContext;
/**
*
*/
public Banner(Context context) {
this(context,null);
}
public Banner(Context context, AttributeSet attrs) {
this(context, attrs,0);
}
public Banner(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
myContext = context;
//
View view = View.inflate(context,R.layout.banner_layout,this);
//
vp = view.findViewById(R.id.vp);
ll = view.findViewById(R.id.ll);
}
//
public void setAdapter(PagerAdapter pagerAdapter){
vp.setAdapter(pagerAdapter);
vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
//
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
//
@Override
public void onPageSelected(int position) {
position = position%primes.size();
for (int i=0; i list){
//
imageViews = list;
// ,
for(int i=0;i
このコントロールを使用するコードの例を次に示します.//
List data1 = getAdBean.getData();
// ( )
list = new ArrayList();
// data1
for (int i=0;i
よし、これは簡単なカスタムコントロールで、マルチキャスト図+小さなドットを実現します.