Re: [問題] Android canvas排版問題
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):