【发布时间】:2015-02-19 19:57:06
【问题描述】:
全部成交
我有一个游戏,它是自定义视图、画布和 onDraw 等。在 onSize 更改时,它会获得屏幕宽度和高度,还有动画等,并且运行良好。现在我想做的是将整个视图的大小减小 80%,然后使用剩下的 20%(底部)来显示另一个视图。搜遍了将近半天,可惜找不到答案或者看不懂所提供的答案。
【问题讨论】:
标签: android canvas view android-custom-view
全部成交
我有一个游戏,它是自定义视图、画布和 onDraw 等。在 onSize 更改时,它会获得屏幕宽度和高度,还有动画等,并且运行良好。现在我想做的是将整个视图的大小减小 80%,然后使用剩下的 20%(底部)来显示另一个视图。搜遍了将近半天,可惜找不到答案或者看不懂所提供的答案。
【问题讨论】:
标签: android canvas view android-custom-view
为什么不在你的 android xml 中使用 LinearLayout 并在那里定义 2 个自定义视图?您也可以在这些视图中添加weights,以保持 80-20% 的比例。
【讨论】:
setContentView(myView); 时,无论您做什么,都只会在整个屏幕上显示您的myView! (不会显示其他自定义视图)这就是为什么您创建一个 android xml(或者您也可以动态设置它)并将其设置为 LinearLayout,然后将您的自定义视图添加到其中。
像这样创建布局 xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.your.pacakage.YourView
android:layout_weight="0.8"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<LinearLayout
android:layout_weight="0.2"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
其中“com.your.pacakage.YourView”是您的游戏视图包。 接下来将此布局添加到 setContent。
setContent(R.layout.main)
【讨论】: