我在预览中设置了一些图像按钮,在xml文件中设置了它们的位置,但是当我运行程序时,所有图像都移动到(0,0)。
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="126dp"
android:layout_height="117dp"
android:background="@null"
app:srcCompat="@drawable/sad"
tools:layout_editor_absoluteY="82dp"
tools:layout_editor_absoluteX="200dp" />
IDE提示我:
布局编辑器允许您将小部件放在画布上的任何位置,并使用设计时属性(例如layout_editor_absoluteX)记录当前位置。这些属性不会在运行时应用,因此如果您在设备上推送布局,窗口小部件可能出现在与编辑器中显示的位置不同的位置。要解决此问题,请通过从边连接拖动来确保窗口小部件具有水平和垂直约束。
如何在运行时设置图像的值?
答案 0 :(得分:1)
您可以使用FrameLayout或RelativeLayout并设置左边距和上边距来放置视图。
diff --git a/spec/portaudio_spec.cr b/spec/portaudio_spec.cr
index d8171a9..049a294 100644
--- a/spec/portaudio_spec.cr
+++ b/spec/portaudio_spec.cr
@@ -1,6 +1,6 @@
require "./spec_helper"
-describe Portaudio do
+describe Pa do
# TODO: Write tests
it "works" do
diff --git a/src/portaudio/device.cr b/src/portaudio/device.cr
index f5ec4f3..cf999ee 100644
--- a/src/portaudio/device.cr
+++ b/src/portaudio/device.cr
@@ -3,13 +3,13 @@ require "./host_api"
module Pa
class Device
- delegate :max_input_channels, :max_output_channels, @info
- delegate :default_low_input_latency, :default_low_output_latency, @info
- delegate :default_high_input_latency, :default_high_output_latency, @info
- delegate :default_sample_rate, @info
+ delegate :max_input_channels, :max_output_channels, to: @info
+ delegate :default_low_input_latency, :default_low_output_latency, to: @info
+ delegate :default_high_input_latency, :default_high_output_latency, to: @info
+ delegate :default_sample_rate, to: @info
getter id
- def initialize(@id, @info)
+ def initialize(@id : Pa::DeviceIndex, @info : LibPortAudio::DeviceInfo)
end
def name
diff --git a/src/portaudio/host_api.cr b/src/portaudio/host_api.cr
index de3b521..9a95ec2 100644
--- a/src/portaudio/host_api.cr
+++ b/src/portaudio/host_api.cr
@@ -2,9 +2,9 @@ require "./lib"
module Pa
class HostApi
- delegate :device_count, :default_input_device, :default_output_device, :type, @info
+ delegate :device_count, :default_input_device, :default_output_device, :type, to: @info
- def initialize(@info)
+ def initialize(@info : LibPortAudio::HostApiInfo)
end
def name