WEB开发网
开发学院手机开发Android 开发 android自定义控件:可旋转View:可作为ImageView... 阅读

android自定义控件:可旋转View:可作为ImageView、ImageButton

 2010-05-14 16:58:00 来源:WEB开发网   
核心提示:依然是android用户体验问题,IPhone的多方向旋转支持要优于android,android自定义控件:可旋转View:可作为ImageView、ImageButton,android的框架原本支持两个方向Portrait、 Landscape,要实现三种方向Portrait、Landscape、Landscap

依然是android用户体验问题,IPhone的多方向旋转支持要优于androidandroid的框架原本支持两个方向Portrait、 Landscape。

要实现三种方向Portrait、Landscape、Landscape-reverse需要三种布局,但是三种布局用三套资源是很浪费的,尤其是图形化程序。

为此自定义一个可指定三种方向控件,是很有必要的。

自定义的View:

view plaincopy to clipboardprint?

1. /**

2. *

3.

4. import android.content.Context;

5. import android.graphics.Canvas;

6. import android.graphics.drawable.Drawable;

7. import android.util.AttributeSet;

8. import android.util.Log;

9. import android.view.View;

10.

11. /**

12. * @author Bill

13. * @rotateDegrees 仅支持 90.0 180.0 0.0(默认)

14. * @background 图片资源文件

15. */

16. public class RotateableView extends View{

17. /**

18. * 命名区域

19. */

20. private final String namespace = "http://com.bill.cn";

21. /**

22. * 保存创建旋转角度

23. */

24. private float mRotateDegrees;

25. /**

26. * 保存创建背景图片的ID

27. */

28. private int mBackGroudDrawableId;

29. /**

30. * 利用图片ID加载图片

31. */

32. private Drawable mBackGroudDrawable;

33. /**

34. * 原始图片所需宽、高

35. */

36. private int mBackGroundWidth;

37. private int mBackGroundHeight;

38. public RotateableView(Context context, AttributeSet attrs) {

39. super(context, attrs);

40. // TODO Auto-generated constructor stub

41. mBackGroudDrawableId=attrs.getAttributeResourceValue(namespace, "background", R.drawable.protractor_landscape_background);

42. mBackGroudDrawable = context.getResources().getDrawable(

1 2 3 4  下一页

Tags:android 定义 控件

编辑录入:coldstar [复制链接] [打 印]
赞助商链接