创建一种视图时遇到了麻烦。我们只是说我试图创造类似于时钟的东西。这意味着我们必须将数字定位在距离中心的距离和角度上。
我试图模仿一种定位两个元素的方法。中心ImageView和时钟编号。在XML中,我有类似的东西:
# config/application.rb
config.generators do |g|
g.fixture_replacement :factory_girl, dir: "/spec/factories"
end
它运作良好,图像按原样设置,完全居中于第一张图像(ivCenter),并从中心取一些边距以定位第二张图像。
现在我必须以编程方式执行相同操作,以便创建大量模拟数字的imageView。所以我有这个代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lyt_rootView"
android:orientation="vertical"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/ivCenter"
android:background="@drawable/cid"/>
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/ivNumber"
android:background="@drawable/add_big"
android:layout_marginLeft="-50dp"
android:layout_marginTop="50dp"/>
</RelativeLayout>
但结果与XML示例不相似。我不知道自己错过了什么。以编程方式创建视图的结果是两个imageView正在尝试定位在屏幕的中心空间中,使第一个图像不以屏幕为中心。
我失踪了什么?
答案 0 :(得分:0)
最后,我通过创建一个以XML为中心的单像素布局来解决它,该布局充当参考并以编程方式在该参考视图中添加视图。