我想为动作按钮制作教练标记,但我现在不知道如何在动作栏上获得他们的位置和填充。 你可以看到我的想法,但我无法达到这张图片:
我有一个半透明的叠加布局,但我想以完全透明的方式显示我所描述的图标。
有没有办法做到这一点? 提前致谢
编辑: 事实上,这些是我需要找到的值,因为它们在不同的设备中是不同的
EDIT2: 使用Nigam Patro的解决方案,我最终得到了:
代码:
require 'net/http'
require 'json'
uri = URI("https://example.com/path")
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
# The body needs to be a JSON string, use whatever you know to parse Hash to JSON
req.body = {a: 1}.to_json
http.request(req)
end
# The "res" is what you need, get content from "res.body". It's a JSON string too.
布局:
...
int[] filterPosition = new int[2];
findViewById(R.id.action_filter).getLocationOnScreen(filterPosition);
View filterDummy = coachMark.findViewById(R.id.filter_dummy);
filterDummy.setX(filterPosition[0]);
filterDummy.setY(filterPosition[1]);
...
EDIT3: 代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/translucent"
android:fitsSystemWindows="true"
android:paddingBottom="@dimen/activity_vertical_margin" >
<ImageView
android:id="@+id/filter_dummy"
android:layout_width="?android:attr/actionBarSize"
android:layout_height="?android:attr/actionBarSize"
android:padding="9dp"
android:src="@drawable/ic_filter_false" />
</RelativeLayout
非常接近,但仍然不对
答案 0 :(得分:1)
通过以下内容,您可以从操作栏中获取视图
<path>/app</path>
通过使用此方法,您可以获得视图的X&amp; Y位置
findViewById(R.id.menu_item);
所以,在获得X&amp; Y位置获取状态栏的高度,
View.getLocationOnScreen()
现在将Y与状态栏高度区分开来,您将获得项目内活动的原始高度y位置。
X值是左边距,Y值是上边距。