遇到的Android UI设计的若干问题,很吐血

tqwboy 2010-11-04 06:45:10
小弟我最近正在学习Android游戏的开发,遇到若干UI、绘图方面的问题,上网苦寻资料,无奈都是一些基本讲解或者同样问题的Copy,所以特此来此求教,望各位高手不吝赐教。

首先第一个问题:我在Activity中,把一张图片设置为背景后,会把其他如button一类的组件给遮挡起来,这个有什么办法解决?

第二个问题:为了暂时解决上面的问题,我就把背景连同游戏其它图片一起放入SurfaceView里,用drawBitmap绘制出来;虽然一时解决了问题,但是到了后来遇到一个最让我纠结的问题;游戏有一个计分板,因为分数很多,所以要用ScrollView将他们包含起来,又因为游戏界面采用了SurfaceView进行绘制,所以不能通过Activity的setContentView方法载入XML文件来获取XML里的ScrollView,要使用任何系统组件就要通过JAVA代码形式自己创建和布局;如此一来,如何设置ScrollView的宽高,以及把他放在屏幕中央?

第三个问题:听说ScrollView每次添加子元素只能加载一个组件,但是我的游戏分数榜使用一张张小图片组成的,比如10就是由一张1的图片和一张0的图片组成,那我该怎么办啊?

这三个问题总结起来就这么几点:如何解决背景遮挡组件、如何设置ScrollView宽高以及他的位置、如何将一张张小图片组成一个大图片(一个组件)添加入ScrollView


请大家帮帮忙,我用了2周都没解决这些问题……
...全文
327 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tqwboy 2010-11-05
  • 打赏
  • 举报
回复
大致明白了,现在主要是UI设计问题,因为现在要动态生成组件来添加,而采用代码形式写UI真的很蛋疼,比如下面这段XML代码:

<RelativeLayout android:id="@+id/ScrollList"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

<ImageView android:id="@+id/TestView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/reminder_batheicon"
android:gravity="left"
android:layout_weight="1"
/>

<ImageButton android:id="@+id/delButton"
android:background="@drawable/reminder_del"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="left"
android:layout_weight="1"
android:paddingLeft="60dip"
android:layout_toRightOf="@+id/TestView"
/>

</RelativeLayout>


用XML布局起来真的很方便,但是因为数据是从数据库读取,所以要用代码动态生成与上面XML同等效果的布局,结果就蛋疼了,很多属性根本不知道怎么来设置,能有谁帮我写一段吗?
tqwboy 2010-11-05
  • 打赏
  • 举报
回复
追加问题,我现在改变ScrollView的滚动条样式,用自己的滚动条图片来取代组件原来滚动条,那个该怎么实现?有人尝试过吗?
dinjay 2010-11-05
  • 打赏
  • 举报
回复
首先第一个问题:我在Activity中,把一张图片设置为背景后,会把其他如button一类的组件给遮挡起来,这个有什么办法解决?

ANS:如果只是设置xml的bkg属性,是没有遮挡的问题的

第二个问题
ANS:ScrollView的宽度不用管,可以写死,高度要计算,根据当前view的visibleRect,也就是view的可绘制区域高度,来计算滚动条的高度,比如滚动条要占高度的1/3之类的,需要做调试。

第三个问题
ANS:你可以将一个textview外部包一个scrollview,这样textview就可以滚动了,这个textview里垂直去加载0,1图片,textview的高度就是一个0或者1数字图片的高度,然后这样就能上下滚了。
ameyume 2010-11-04
  • 打赏
  • 举报
回复
1.我在layout中最外层的LinearLayout设置图片背景android:background="@drawable/bg1",没有楼主说的遮挡问题,在activity中没有设置过,应该不会遮挡吧,是不是楼主设置的步骤不对,先设置背景再添加其他控件试试
3.楼主可以把很多的小图片放在一个大组件里面,比如嵌套在一个LinearLayout里,也可以通过多层嵌套。最后变成一个大的layout再放在ScrollView里面。

80,360

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧