在另一个上面绘制视图

时间:2012-12-16 14:05:19

标签: android canvas

是的,我同意这些问题缺乏研究工作,但我想不出具体的“关键字搜索”,所以我在这里发布问题

我想在另一个上面绘制一个视图..下面的视图将是绘制动画的画布视图(对于我的游戏的主菜单),前视图有按钮..

所以..让我分开我的问题.. 1)如何获得上述行为?

2)如何更改按钮纹理(如按钮启动且按钮按下时)

3)如何做动画? (例如当用户打开游戏时按钮从左向中滑动)

告诉我需要搜索的关键字以获得每个问题的答案,我会满意的。 Thanx提前

2 个答案:

答案 0 :(得分:4)

  

1)如何获得上述行为?

RelativeLayouts

通过使用相对布局,您可以将视图一个放在另一个上面。

  

2)如何更改按钮纹理(如按钮启动且按钮按下时)

StateListDrawables

Android有不同的状态描述视图的触摸进度。通过声明状态列表,您可以指定按钮在特定状态下的显示方式。

  

3)如何做动画? (例如当用户打开游戏时按钮从左向中滑动)

Here's a nice animation tutorial。你可能正在寻找翻译动画。

答案 1 :(得分:1)

回答问题 - 或问题1) - 您还可以使用FrameLayout将视图置于彼此之上

 <FrameLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent">

        <Button
            android:layout_width="@dimen/score_red_size_width"
            android:layout_height="@dimen/score_red_size_height"
            android:id="@+id/time"
            android:background="@drawable/time"
            android:layout_gravity="center_horizontal"

            android:textColor="@color/white"
            android:textSize="@dimen/time_formatting"
            android:layout_marginTop="5dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/time_text"
            android:layout_gravity="center_horizontal|center_vertical"
            android:textAlignment="center"
            android:text="no time"
            android:layout_marginBottom="@dimen/time_label_bottom_margin"
            android:textColor="@color/white"
            android:textSize="@dimen/time_formatting" />
    </FrameLayout>

这会在按钮上放置一些文字,并带有一些额外的布局/样式。有时这是最简单的选择!