本文整理汇总了Java中android.support.v4.view.ViewCompat.setZ方法的典型用法代码示例。如果您正苦于以下问题:Java ViewCompat.setZ方法的具体用法?Java ViewCompat.setZ怎么用?Java ViewCompat.setZ使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.support.v4.view.ViewCompat
的用法示例。
在下文中一共展示了ViewCompat.setZ方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: drawChild
import android.support.v4.view.ViewCompat; //导入方法依赖的package包/类
@Override
public boolean drawChild(Canvas canvas, View child, long drawingTime) {
// rotateX
int centerY = getVerticalSpace() / 2;
int childCenterY = child.getTop() + child.getHeight() / 2;
float factor = (centerY - childCenterY) * 1f / centerY;
float alphaFactor = 1 - 0.7f * Math.abs(factor);
child.setAlpha(alphaFactor * alphaFactor * alphaFactor);
float scaleFactor = 1 - 0.3f * Math.abs(factor);
child.setScaleX(scaleFactor);
child.setScaleY(scaleFactor);
float rotateRadius = 2.0f * centerY / (float) Math.PI;
float rad = (centerY - childCenterY) * 1f / rotateRadius;
float offsetZ = rotateRadius * (1 - (float) Math.cos(rad));
float rotateDeg = rad * 180 / (float) Math.PI;
ViewCompat.setZ(child, -offsetZ);
child.setRotationX(rotateDeg);
float offsetY = centerY - childCenterY - rotateRadius * (float) Math.sin(rad) * 1.3f;
child.setTranslationY(offsetY);
// resize the text size if text can not be shown completely
if (child instanceof TextView) {
String data = ((TextView) child).getText().toString();
if (((TextView) child).getTextSize() == mTextSize) {
float finalTextSize = mTextSize;
float dataStringW = StaticLayout.getDesiredWidth(data, 0, data.length(), ((TextView) child).getPaint());
if (getHorizontalSpace() > 0 && dataStringW * 1.1f > getHorizontalSpace()) {
finalTextSize = getHorizontalSpace() / dataStringW / 1.1f * mTextSize;
}
((TextView) child).setTextSize(TypedValue.COMPLEX_UNIT_PX, finalTextSize);
}
}
return super.drawChild(canvas, child, drawingTime);
// // parent centerY ,item centerY
// int centerY = (getHeight() - getPaddingTop() - getPaddingBottom()) / 2;
// int childCenterY = child.getTop() + child.getHeight() / 2;
// // alpha
// float factor = (centerY - childCenterY) * 1f / centerY;
// float currentFactor = 1 - 0.7f * Math.abs(factor);
// child.setAlpha(currentFactor * currentFactor * currentFactor);
//
// // rotate radius
// float rotateRadius = 2.5f * centerY / (float) Math.PI;
// // deg
// float rad = (centerY - childCenterY) * 1f / rotateRadius;
// float rotateDeg = rad * 180 / (float) Math.PI;
// // for camera
// float offsetZ = rotateRadius * (1 - (float) Math.cos(rad));
// canvas.save();
// // offset Y for item rotate
// float offsetY = centerY - childCenterY - rotateRadius * (float) Math.sin(rad);
// canvas.translate(0, offsetY);
// mCamera.save();
// mCamera.translate(0, 0, offsetZ);
// mCamera.rotateX(rotateDeg);
// mCamera.getMatrix(mMatrix);
// mCamera.restore();
// mMatrix.preTranslate(-child.getWidth() / 2, -childCenterY);
// mMatrix.postTranslate(child.getWidth() / 2, childCenterY);
// canvas.concat(mMatrix);
// super.drawChild(canvas, child, drawingTime);
// canvas.restore();
// return true;
}
示例2: moveViews
import android.support.v4.view.ViewCompat; //导入方法依赖的package包/类
/**
* 移动view
*
* @param dy 要移动的距离
*/
private void moveViews(int dy)
{
if (getDirection() == Direction.FROM_HEADER)
{
if (mIsOverLayMode)
{
//覆盖模式
if (ViewCompat.getZ(mHeaderView) <= ViewCompat.getZ(mRefreshView))
{
ViewCompat.setZ(mHeaderView, ViewCompat.getZ(mRefreshView) + 1);
}
} else
{
ViewCompat.offsetTopAndBottom(mRefreshView, dy);
}
mHeaderView.onViewPositionChanged(this);
} else
{
if (mIsOverLayMode)
{
//覆盖模式
if (ViewCompat.getZ(mFooterView) <= ViewCompat.getZ(mRefreshView))
{
ViewCompat.setZ(mFooterView, ViewCompat.getZ(mRefreshView) + 1);
}
} else
{
ViewCompat.offsetTopAndBottom(mRefreshView, dy);
}
mFooterView.onViewPositionChanged(this);
}
if (mOnViewPositionChangedCallback != null)
{
mOnViewPositionChangedCallback.onViewPositionChanged(this);
}
}
示例3: onBindViewHolder
import android.support.v4.view.ViewCompat; //导入方法依赖的package包/类
@Override
public void onBindViewHolder(DialogsHolder holder, int position) {
DialogModel dialog = dialogs.get(position);
holder.setPosition(position);
holder.mLastMessage.setText(dialog.getLastMessage());
holder.mLastMessageDate.setText(String.valueOf(dialog.getLastMessageTime()));
if (dialog.getLastMessageUserId() == currentUserId) {
holder.mMessageAuthor.setText(R.string.me);
} else {
String userName = userNames.get(dialog.getLastMessageUserId().longValue());
if(userName != null)
holder.mMessageAuthor.setText(userNames.get(dialog.getLastMessageUserId().longValue()));
}
holder.mTitle.setText(dialog.getName());
if (dialog.getUnreadMessagesCount() != null && dialog.getUnreadMessagesCount() != 0) {
holder.mLastMessageDate.setTextColor(context.getResources().getColor(R.color.chats_item_last_message_date_new));
holder.mTitle.setTextColor(context.getResources().getColor(R.color.chats_item_name_new));
holder.mNewMessageIndicator.setVisibility(View.VISIBLE);
holder.mNewMessageIndicator.setText(String.format("+%d", dialog.getUnreadMessagesCount()));
ViewCompat.setZ(holder.mNewMessageIndicator, 1000000);
} else {
holder.mLastMessageDate.setTextColor(context.getResources().getColor(R.color.chats_item_last_message_date));
holder.mTitle.setTextColor(context.getResources().getColor(R.color.chats_item_name));
holder.mNewMessageIndicator.setVisibility(View.GONE);
}
holder.swipeLayout.setShowMode(SwipeLayout.ShowMode.LayDown);
Bitmap photo = dialogPhotos.get(dialog.getDialogId());
if (photo != null) {
holder.imageView.setImageBitmap(photo);
} else {
holder.imageView.setImageDrawable(context.getResources().getDrawable(R.drawable.user_icon));
}
mItemManger.bindView(holder.itemView, position);
}