作者lovelycateye (我还想要更多力量)
看板java
标题Re: [问题] Android canvas排版问题
时间Tue Dec 28 00:21:59 2010
※ 引述《chenwu (圈误)》之铭言:
: 我知道这里是java版
: 不过知道很多android程式高手在这边 所以也来这里问问,请各位高手不吝指教
: 我想问的是一个canvas画布的排版问题
: 我现在已经将我在画布上显示的动画完成了,
: 不过现在显示是在手机的全萤幕,
: 不过我希望能只切割萤幕的一小部分显示动画,其余可以加入一些TextView之类的东西
: 但是不太知道应该怎麽做,於是到板上来请教
: 我希望呈现的画面如下
: http://www.wretch.cc/album/show.php?i=CHENWU&b=43&f=1744048444&p=0
: 原先动画只能显示全萤幕的程式码大略如下:
: public class Draw extends Activity {
: @Override
: protected void onCreate(Bundle savedInstanceState) {
: super.onCreate(savedInstanceState);
: setContentView(new DrawView(this));
: }
: private static class DrawView extends View
: {
: .
: .
: 逻辑部分略过
: .
: .
: public DrawView(Context context)
: {
: super(context);
: ..
: ..
: }
: ..
: @Override protected void onDraw(Canvas canvas)
: {
: ..
: ..
: }
: .
: .
: }
: }
: 程式码大略如上
: 我希望做到的是将DrawView只占据萤幕上的一部份
: Android新手 请各位高手解答
我连动画都不会做,囧>
不过我会觉得你该把DrawView这个class抽出来到com.your.DrawView
然後用layout的xml去定义你画面要长的样子,为了以後可以共用
layout大致上如下。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="
http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom"
android:gravity="center"
android:text="妈~我在这~"
其他attr... />
<com.your.DrawView
android:id="@+id/my_drawview"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_gravity="center"
其他attr.... />
</FrameLayout>
这样画面应该是会有个100dip x 100dip的动画在正中间,然後文字在中间下面。
然後在程式里面用findViewById(R.id.my_drawview)去找到,然後做你要做的。
这是我个人自我感觉良好比较有MVC概念的做法啦。
当然你要在程式里面直接new FrameLayout或RelativeLayout之类的
然後addView(yourDrawView)也是可以,当然~也还有其他做法。
可以用custom view之类的去拜一下神
最後,可以私下偷看一下你的动画的程式码吗XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.85.82.103