Как добавить графическое наложение на активность?Android - PullRequest
0 голосов
/ 30 августа 2011

Я пытаюсь, чтобы в центре экрана отображалось изображение, подсказывающее людям, что нажимать (например, стрелка на кнопке). Что я использую, чтобы дизайн стрелки отображался в соответствующем месте и исчезал после того, как я что-то сделал (например, нажал на экран)

Спасибо!

EDIT Вот макет xml для одного из моих занятий, обратите внимание на изображение внизу, оно показывает картинку спереди

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout android:layout_width="fill_parent"
    android:layout_height="45dp" android:background="@drawable/mytitlebackground" android:id="@+id/relativeLayout1">
    <ImageButton android:id="@+id/btnAddFriends"
        android:layout_width="wrap_content" android:src="@android:drawable/ic_input_add"
        android:layout_height="wrap_content" android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"></ImageButton>
    <TextView android:id="@+id/textView1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/imTracking" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_centerVertical="true" android:layout_centerHorizontal="true"></TextView>
</RelativeLayout>

<Button android:id="@+id/btnUpdateLocation" android:text="Update Location"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"></Button>
<ImageButton android:src="@drawable/mapbutton"
    android:layout_width="wrap_content" android:id="@+id/btnMaps"
    android:layout_height="wrap_content" android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true" android:layout_alignTop="@+id/btnUpdateLocation"></ImageButton>
<ImageButton android:text="Refresh"
    android:src="@android:drawable/stat_notify_sync" android:layout_width="wrap_content"
    android:id="@+id/btnRefresh" android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"></ImageButton>
<LinearLayout android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:layout_below="@+id/relativeLayout1"
    android:layout_alignParentLeft="true" android:layout_above="@+id/btnUpdateLocation" android:id="@+id/linearLayout1">
    <ListView android:id="@+id/imtrackinglistview"
        android:layout_height="wrap_content" android:layout_width="fill_parent"
        android:layout_weight="1"></ListView>
</LinearLayout>
<ImageView android:id="@+id/iVImtrackingpopup" android:layout_width="300dp" android:layout_height="330dp" android:src="@drawable/imtrackinghelp_en" android:layout_centerVertical="true" android:layout_centerHorizontal="true"></ImageView>

Когда я пытаюсь «щелкнуть» относительный макет, чтобы сделать изображение невидимым, оно не будет работать, если я не нажму на верхнюю часть макета

RelativeLayout Imtrackingrelativelayout=(RelativeLayout) findViewById(R.id.relativeLayoutImtracking);
    Imtrackingrelativelayout.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            ImageView imtrackingoverlay=(ImageView) findViewById(R.id.iVImtrackingpopup);
            imtrackingoverlay.setVisibility(View.INVISIBLE);

        }
    });

Ответы [ 2 ]

1 голос
/ 29 декабря 2015

Вы пытались использовать библиотеку ShowcaseView ? Он предлагает более чистый подход к тому, чего вы пытаетесь достичь

Проверьте проект здесь: -

https://github.com/amlcurran/ShowcaseView

1 голос
/ 30 августа 2011

выровняйте центр изображения по центру и поместите прослушиватель кликов поверх корневого макета, а по клику сделайте это изображение невидимым ...... Лучше использовать относительное расположение для этого .....

...