如何为动作按钮设置教练标记?

时间:2015-12-11 09:18:21

标签: android action-button

我想为动作按钮制作教练标记,但我现在不知道如何在动作栏上获得他们的位置和填充。 你可以看到我的想法,但我无法达到这张图片:

enter image description here

我有一个半透明的叠加布局,但我想以完全透明的方式显示我所描述的图标。

有没有办法做到这一点? 提前致谢

编辑: 事实上,这些是我需要找到的值,因为它们在不同的设备中是不同的

enter image description here

EDIT2: 使用Nigam Patro的解决方案,我最终得到了:

enter image description here

代码:

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

结果: enter image description here

非常接近,但仍然不对

1 个答案:

答案 0 :(得分:1)

通过以下内容,您可以从操作栏中获取视图

<path>/app</path>

通过使用此方法,您可以获得视图的X&amp; Y位置

findViewById(R.id.menu_item);

所以,在获得X&amp; Y位置获取状态栏的高度,

View.getLocationOnScreen()

现在将Y与状态栏高度区分开来,您将获得项目内活动的原始高度y位置。

X值是左边距,Y值是上边距。