我的安卓游戏中的一个精灵设置为每100毫秒下降5个像素,这个工作正常唯一的问题是ImageView本身只有53dp高,如果我用它做任何更大的尺度内的图像。由于ImageView只有53dp高,因此当图像滚动到图像视图的边界之外时,图像会在1100毫秒后消失。
我需要将ImageView的布局高度设置为fill_parent,但我需要图像保持相同的大小而不是使用它进行缩放,这是我当前的代码:
<ImageView
android:id="@+id/blueman"
android:layout_width="0dip"
android:layout_height="53dp"
android:paddingRight="300dp"
android:layout_weight="0.03"
android:src="@drawable/fall" />
提前致谢:)
答案 0 :(得分:0)
既然你没有给出布局的完整代码,我会做一些假设...... 你是在谈论将精灵的高度设置为屏幕的高度而不进行缩放?
屏幕尺寸(即根布局项目)与其中的精灵之间应该存在差异。我猜你宣布你的布局是......:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="?gameBackground"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btTap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="14dp"
android:layout_marginTop="350dp"
android:background="@drawable/tap"
android:visibility="visible" />
<Button
android:id="@+id/btCellR1C1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="490dp"
android:layout_marginTop="155dp"
android:background="@drawable/cell_red" />
我唯一需要解决的问题就是根据设备的分辨率使用这种方法缩放我的精灵:
public static void scaleView(View view, int top, int left, int width,
int height) {
top = Math.round(top * scaleY);
left = Math.round(left * scaleX);
width = Math.round(width * scaleX);
height = Math.round(height * scaleY);
LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
params.height = height;
params.width = width;
params.topMargin = top;
params.leftMargin = left;
view.setLayoutParams(params);
view.setSoundEffectsEnabled(false);
}
请提供更多详细信息以帮助您
祝你好运 哔叽