Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
AigeStudio's Mac committed Jul 5, 2016
1 parent b69c611 commit 1d06ca8
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 45 deletions.
2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 9 additions & 9 deletions Demo/Demo.iml
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,6 @@
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
Expand All @@ -80,6 +72,14 @@
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
Expand All @@ -99,7 +99,7 @@
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android API 23 Platform (1)" jdkType="Android SDK" />
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="WheelPicker-WheelPicker" exported="" />
</component>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,17 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ac_main);

List<String> data = new ArrayList<>();
final List<String> data = new ArrayList<>();
for (int i = 1000; i < 3000; i++) {
data.add("00000000");
}
final WheelPicker picker = (WheelPicker) findViewById(R.id.main_wheel);
picker.setDebug(true);
picker.setData(data);

new Handler().postDelayed(new Runnable() {
@Override
public void run() {
picker.setData(data);
// picker.setData(Arrays.asList(getResources().getStringArray(R.array.WheelArrayWeek)));
// picker.setItemTextSize(64);
// picker.setIndicatorSize(128);
Expand Down
2 changes: 1 addition & 1 deletion WheelPicker/WheelPicker-WheelPicker.iml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android API 23 Platform (1)" jdkType="Android SDK" />
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
Original file line number Diff line number Diff line change
Expand Up @@ -284,32 +284,32 @@ interface IWheelPicker {
*/
void setCurved(boolean isCurved);

// /**
// * 设置Item在水平或垂直滚动器上的对齐方式
// * 滚动选择器默认的Item对齐方式为居中对齐{@link WheelCrossPicker#ALIGN_CENTER}
// * 居中对齐{@link WheelCrossPicker#ALIGN_CENTER}适用于水平和垂直两个方向的滚轮选择器上
// * 靠左对齐{@link WheelCrossPicker#ALIGN_LEFT}和靠右{@link WheelCrossPicker#ALIGN_RIGHT}对齐只能用于垂直方向的滚轮选择器上
// * 置顶对齐{@link WheelCrossPicker#ALIGN_TOP}和置底对齐{@link WheelCrossPicker#ALIGN_BOTTOM}只能用于水平方向的滚轮选择器上
// * 当且仅当满足以下条件之一时Item的对齐方式才会生效:
// * 1.如果{@link #isPerspective()}返回true
// * 2.如果{@link #isPerspective()}返回false并且{@link #hasSameWidth()}返回false并且当前滚轮选择器为垂直滚动状态
// *
// * @param align 对齐方式标识值
// * 当滚动选择器为垂直滚动时该值仅能是下列值之一:
// * {@link WheelCrossPicker#ALIGN_CENTER}
// * {@link WheelCrossPicker#ALIGN_LEFT}
// * {@link WheelCrossPicker#ALIGN_RIGHT}
// * 当滚动选择器为水平滚动时该值仅能是下列值之一:
// * {@link WheelCrossPicker#ALIGN_CENTER}
// * {@link WheelCrossPicker#ALIGN_TOP}
// * {@link WheelCrossPicker#ALIGN_BOTTOM}
// */
// void setItemAlign(int align);
//
// /**
// * 获取Item对齐方式
// *
// * @return Item对齐方式
// */
// int getItemAlign();
/**
* 设置Item在水平或垂直滚动器上的对齐方式
* 滚动选择器默认的Item对齐方式为居中对齐{@link WheelPicker#ALIGN_CENTER}
* 居中对齐{@link WheelPicker#ALIGN_CENTER}适用于水平和垂直两个方向的滚轮选择器上
* 靠左对齐{@link WheelPicker#ALIGN_LEFT}和靠右{@link WheelPicker#ALIGN_RIGHT}对齐只能用于垂直方向的滚轮选择器上
* 置顶对齐{@link WheelPicker#ALIGN_TOP}和置底对齐{@link WheelPicker#ALIGN_BOTTOM}只能用于水平方向的滚轮选择器上
* 当且仅当满足以下条件之一时Item的对齐方式才会生效:
* 1.如果{@link #isPerspective()}返回true
* 2.如果{@link #isPerspective()}返回false并且{@link #hasSameWidth()}返回false并且当前滚轮选择器为垂直滚动状态
*
* @param align 对齐方式标识值
* 当滚动选择器为垂直滚动时该值仅能是下列值之一:
* {@link WheelPicker#ALIGN_CENTER}
* {@link WheelPicker#ALIGN_LEFT}
* {@link WheelPicker#ALIGN_RIGHT}
* 当滚动选择器为水平滚动时该值仅能是下列值之一:
* {@link WheelPicker#ALIGN_CENTER}
* {@link WheelPicker#ALIGN_TOP}
* {@link WheelPicker#ALIGN_BOTTOM}
*/
void setItemAlign(int align);

/**
* 获取Item对齐方式
*
* @return Item对齐方式
*/
int getItemAlign();
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ public class WheelPicker extends View implements IDebug, IWheelPicker, Runnable
*/
public static final int SCROLL_STATE_IDLE = 0, SCROLL_STATE_DRAGGING = 1,
SCROLL_STATE_SCROLLING = 2;
/**
* 数据项对齐方式标识值
*/
public static final int ALIGN_CENTER = 0, ALIGN_LEFT = 1, ALIGN_RIGHT = 2, ALIGN_TOP = 3,
ALIGN_BOTTOM = 4;

public static final int DIR_VER = 0, DIR_HOR = 1;

Expand Down Expand Up @@ -218,6 +223,7 @@ private void updateVisibleItemCount() {
}

private void computeTextSize() {
mTextMaxWidth = mTextMaxHeight = 0;
if (hasSameWidth) {
mTextMaxWidth = (int) mPaint.measureText(String.valueOf(mData.get(0)));
} else if (isPosInRang(mTextMaxWidthPosition)) {
Expand Down Expand Up @@ -362,15 +368,15 @@ protected void onDraw(Canvas canvas) {
mCamera.rotateX(degree);
mCamera.getMatrix(mMatrixRotate);
mCamera.restore();
mMatrixRotate.preTranslate(-mWheelCenterX, -xxx);
mMatrixRotate.postTranslate(mWheelCenterX, xxx);
mMatrixRotate.preTranslate(-getWidth(), -xxx);
mMatrixRotate.postTranslate(getWidth(), xxx);

mCamera.save();
mCamera.translate(0, 0, (1 - test) * getHeight() / 2);
mCamera.getMatrix(mMatrixDepth);
mCamera.restore();
mMatrixDepth.preTranslate(-mWheelCenterX, -xxx);
mMatrixDepth.postTranslate(mWheelCenterX, xxx);
mMatrixDepth.preTranslate(-getWidth(), -xxx);
mMatrixDepth.postTranslate(getWidth(), xxx);

mMatrixRotate.postConcat(mMatrixDepth);
}
Expand Down Expand Up @@ -784,6 +790,16 @@ public void setCurved(boolean isCurved) {
this.isCurved = isCurved;
}

@Override
public void setItemAlign(int align) {

}

@Override
public int getItemAlign() {
return 0;
}

/**
* 滚轮选择器Item项被选中时监听接口
*
Expand Down

0 comments on commit 1d06ca8

Please sign in to comment.