在使用TableView实现多级树型menu这篇中,实现了多级Menu的现实 ,很多时候为了让父菜单更有指示性,会在菜单中,加上向下向上箭头,以表示其自菜单是否打开。一般会加上下面的动画效果。
[UIView animateWithDuration:0.25 animations:^(void){imageView.transform = CGAffineTransformRotate(imageView.transform, 3.1415926);} completion:^(BOOL finished){ //set default transform imageView.transform = CGAffineTransformMakeRotation(0); imageView.image = [UIImage imageNamed:@"new_chevron.png"]; }];
其中需要这条
imageView.transform = CGAffineTransformMakeRotation(0);
因为在使用transform做动画时,其转换是会保存下来的,即使用该imageView下次重新打开图片,其图片时倒着的(因为我们已经把它旋转了π个角度(180)),所以需要先讲其旋转回来,在载入新的图片。
其次因为cell是会被重用的,使用一张图片来回旋转来实现时,不能把旋转效果保存在imageView中(不建议该方法)。
在使用动画效果时,发现了一个很奇怪的现象:
当使用系统的π
#define M_PI 3.14159265358979323846264338327950288 /* pi */
会出现设置复数是无法顺针旋转,可能会是位数过长造成了溢出,自己定义一个位数短些的π,如
#define ROTATION_M_PI 3.1415926
有时候我们做开发时候,需要Button上显示小图标例如:
但是呢 button 呢 本身已经设置了 Background了,如果你想设置一个图标,需要这么做了 用: android:drawableTop=“” 这个属性,但是你会发现一个问题就是这样的, android:drawableTop= 会让你的图标靠近的Button的上半部分,你想让它居中,很难调啊!!
这么做: 一般我们的button是点9的,所以咱们利用点9 的特性,把button的现实内容区域给调的很居中就可以了:
这样保存的点9格式的图片就能很好的显示居中了!!!
第二种方法也很简单,就是直接用ImageButton 得了!! 这样做:
<ImageButton android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/btn_red_delete" android:src="/blog_article/@drawable/dustbinbutton/index.html" />
src是你的icon,background是你的button背景,ok也能实现哦!!
以上亲测好使!!谢谢!!
原问题来自于CSDN问答频道,更多见:http://ask.csdn.net/questions/1751
问题描述:
在执行一些动作时需要传递变量到DialogFragment,Eclipse建议我用
Fragment#setArguments(Bundle)
不知道怎么用?
:
使用newInstance
static MyDialogFragment newInstance(int num) { MyDialogFragment f = new MyDialogFragment(); // Supply num input as an argument. Bundle args = new Bundle(); args.putInt("num", num); f.setArguments(args); return f; }
这样获取参数
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mNum = getArguments().getInt("num"); ... }