您的位置:首页 > 其它

自定义控件:飞入飞出的效果

2016-04-08 16:05 204 查看
效果图:



  用到4个类(copy)

1 布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >

<com.baidu.stellarmap.lib.StellarMap
android:id="@+id/stleeMap"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>


 

 * 步骤:

 *  准备:复制4个类

 *  1 布局+获取StellarMap对象

 *  2 设置adapter

 *  3 设置StellarMap参数

*  1 布局+获取StellarMap对象

//1获取StellarMap对象
stellarMap = (StellarMap) findViewById(R.id.stleeMap);

 

*  2 设置adapter

//2 设置adapter
MyAdapter adapter = new MyAdapter();
stellarMap.setAdapter(adapter);


 

class MyAdapter implements Adapter {// 注意:Adapter是stellMap包下的,是interface

// 共多少组数据
@Override
public int getGroupCount() {
return 3;
}

// 每一组有多少条数据
@Override
public int getCount(int group) {
return 11;
}

@Override
public View getView(int group, int position, View convertView) {
TextView tv = new TextView(context);
tv.setText("item" + position);
// 1 设置字体大小
Random random = new Random();
int textSize = random.nextInt(8) + 15;
tv.setTextSize(TypedValue.COMPLEX_UNIT_DIP, textSize);

// 2 设置字体颜色
int red = random.nextInt(150) + 50;
int green = random.nextInt(150) + 50;
int blue = random.nextInt(150) + 50;
int textColor = Color.rgb(red, green, blue);
tv.setTextColor(textColor);

return tv;
}

// 没什么作用
@Override
public int getNextGroupOnPan(int group, float degree) {
return 0;
}

// 下一个页面要显示的数据
@Override
public int getNextGroupOnZoom(int group, boolean isZoomIn) {
return (group + 1) % getGroupCount();// 确保循环显示
}
}


 

 3 设置StellarMap参数

若想第一页就显示数据,那么方法setGroup(0, true);必须放在setAdapter(adapter)后面,其他方法顺序无所谓;

public void initStellarMap() {
stellarMap.setGroup(0, true);
stellarMap.setInnerPadding(padding, padding, padding, padding);// 设置textView的内边距
stellarMap.setRegularity(15, 15);
}


源码:http://download.csdn.net/detail/ss1168805219/9485126
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: