下面列出了android.view.View#getRotation ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void updateWobbleState(int visibleItemCount) {
for (int i = 0; i < visibleItemCount; i++) {
View child = getChildAt(i);
if (child != null) {
if (mMobileItemId != INVALID_ID && Boolean.TRUE != child.getTag(R.id.dynamic_grid_wobble_tag)) {
if (i % 2 == 0)
animateWobble(child);
else
animateWobbleInverse(child);
child.setTag(R.id.dynamic_grid_wobble_tag, true);
} else if (mMobileItemId == INVALID_ID && child.getRotation() != 0) {
child.setRotation(0);
child.setTag(R.id.dynamic_grid_wobble_tag, false);
}
}
}
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void updateWobbleState(int visibleItemCount) {
for (int i = 0; i < visibleItemCount; i++) {
View child = getChildAt(i);
if (child != null) {
if (mMobileItemId != INVALID_ID && Boolean.TRUE != child.getTag(R.id.dgv_wobble_tag)) {
if (i % 2 == 0)
animateWobble(child);
else
animateWobbleInverse(child);
child.setTag(R.id.dgv_wobble_tag, true);
} else if (mMobileItemId == INVALID_ID && child.getRotation() != 0) {
child.setRotation(0);
child.setTag(R.id.dgv_wobble_tag, false);
}
}
}
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void updateWobbleState(int visibleItemCount) {
for (int i = 0; i < visibleItemCount; i++) {
View child = getChildAt(i);
if (child != null) {
if (mMobileItemId != INVALID_ID && Boolean.TRUE != child.getTag(R.id.dynamic_grid_wobble_tag)) {
if (i % 2 == 0)
animateWobble(child);
else
animateWobbleInverse(child);
child.setTag(R.id.dynamic_grid_wobble_tag, true);
} else if (mMobileItemId == INVALID_ID && child.getRotation() != 0) {
child.setRotation(0);
child.setTag(R.id.dynamic_grid_wobble_tag, false);
}
}
}
}
Transforms(View view) {
mTranslationX = view.getTranslationX();
mTranslationY = view.getTranslationY();
mTranslationZ = ViewCompat.getTranslationZ(view);
mScaleX = view.getScaleX();
mScaleY = view.getScaleY();
mRotationX = view.getRotationX();
mRotationY = view.getRotationY();
mRotationZ = view.getRotation();
}
/**
* This method gets the value of the named property from the View object.
*
* @param propertyConstant The property whose value should be returned
* @return float The value of the named property
*/
private float getValue(int propertyConstant) {
//final View.TransformationInfo info = mView.mTransformationInfo;
View v = mView.get();
if (v != null) {
switch (propertyConstant) {
case TRANSLATION_X:
//return info.mTranslationX;
return v.getTranslationX();
case TRANSLATION_Y:
//return info.mTranslationY;
return v.getTranslationY();
case ROTATION:
//return info.mRotation;
return v.getRotation();
case ROTATION_X:
//return info.mRotationX;
return v.getRotationX();
case ROTATION_Y:
//return info.mRotationY;
return v.getRotationY();
case SCALE_X:
//return info.mScaleX;
return v.getScaleX();
case SCALE_Y:
//return info.mScaleY;
return v.getScaleY();
case X:
//return v.mLeft + info.mTranslationX;
return v.getX();
case Y:
//return v.mTop + info.mTranslationY;
return v.getY();
case ALPHA:
//return info.mAlpha;
return v.getAlpha();
}
}
return 0;
}
/**
* 获取 View 旋转度数
* @param view {@link View}
* @return View 旋转度数
*/
public static float getRotation(final View view) {
if (view != null) {
return view.getRotation();
}
return 0f;
}
public static boolean toggleArrow(View view) {
if (view.getRotation() == 0) {
view.animate().setDuration(200).rotation(180);
return true;
} else {
view.animate().setDuration(200).rotation(0);
return false;
}
}
public void updateView(View v) {
if (v != null) {
this.alpha = v.getAlpha();
this.x = v.getX();
this.y = v.getY();
this.z = atLeastLollipop ? v.getZ() : 0;
this.width = v.getWidth();
this.height = v.getHeight();
this.expansionScaleX = v.getScaleX();
this.expansionScaleY = v.getScaleY();
this.dispositionAngle = v.getRotation();
this.dispositionAngleX = v.getRotationX();
this.dispositionAngleY = v.getRotationY();
}
}
public static Completable enterWithRotation(final View view, final int duration, final int xOffset, final int yOffset, final int delay, final int rotation) {
final float startingX = view.getX();
final float startingY = view.getY();
final float startRotation = view.getRotation();
return animate(view, duration, delay)
.fadeIn()
.counterRotateBy(rotation)
.translateBy(xOffset, yOffset)
.onAnimationCancel(aView -> set(aView, startingX, startingY, OPAQUE, startRotation))
.schedule();
}
static float getRotation(View view) {
return view.getRotation();
}
static float getRotation(View view) {
return view.getRotation();
}
static float d(View view)
{
return view.getRotation();
}
static float getRotation(View view) {
return view.getRotation();
}
static float getRotation(View view) {
return view.getRotation();
}
static float getRotation(View view) {
return view.getRotation();
}
public static float getRotation(View view) {
return view.getRotation();
}
@Override
public float getValue(View view) {
return view.getRotation();
}
public static float getRotation(View view) {
return view.getRotation();
}
public static float getRotation(View view) {
return view.getRotation();
}