我正尝试在横向模式下以相对布局设置图像视图的位置。
我正在使用Displaymetrics函数来获取屏幕,然后调用setleft来设置名为mStone1的图像视图的左侧位置。
mMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(mMetrics);
mStone1.setLeft(mMetrics.widthPixels-5);
但我的应用程序崩溃并出现以下错误: -
找不到方法android.widget.ImageView.setLeft,从com.example.Myapp.onCreate方法引用
VFY:无法解析虚方法11:Landroid / widget / ImageView; .setLeft(I)V
答案 0 :(得分:0)
此功能仅适用于API级别11及更高级别。因此,除非您正在为Android 3.0编写(并运行应用程序),否则您无法使用此功能。也许试试offsetLeftandRight
http://developer.android.com/reference/android/view/View.html#offsetLeftAndRight(int)
答案 1 :(得分:0)
您也可以尝试我认为的View.Layout(int, int, int, int);
功能。
public void layout(int l,int t,int r,int b)
自:API Level 1
为视图及其所有后代指定大小和位置
这是布局机制的第二阶段。 (第一个是 测量)。在此阶段,每个父级都调用所有的布局 孩子们要定位他们。这通常是使用孩子完成的 存储在度量pass()中的度量。
派生类不应覆盖此方法。派生类 孩子们应该覆盖onLayout。在那种方法中,他们应该打电话 他们每个孩子的布局。
参数:
l左侧位置,相对于父级
t相对于父母的最高位置 r正确的位置,相对于父母的 b相对于父母的底部位置