Android EventListener - PullRequest
       0

Android EventListener

1 голос
/ 28 февраля 2012

Пожалуйста, отметьте это xml

<FrameLayout android:id="@+id/LayoutTab"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:layout_gravity="bottom" android:layout_marginBottom="-30dip">

            <ImageView android:id="@+id/ImageMenu" android:background="@drawable/img_tab"
                android:layout_height="wrap_content" android:layout_width="fill_parent"></ImageView>

            <LinearLayout android:id="@+id/LinearLayout03"
                android:layout_width="fill_parent" android:paddingLeft="5dip"
                android:layout_height="wrap_content" android:layout_gravity="bottom">
                <ImageButton android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:id="@+id/btnNegative"
                    android:background="@drawable/btn_minus_state" android:layout_margin="5dip"></ImageButton>
                <ImageButton android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:id="@+id/btnPositive"
                    android:background="@drawable/btn_plus_state" android:layout_margin="5dip"></ImageButton>
                <ImageButton android:layout_width="wrap_content"
                    android:layout_height="wrap_content" android:id="@+id/btnShare"
                    android:background="@drawable/btn_share_state" android:layout_margin="5dip"></ImageButton>
            </LinearLayout>

        </FrameLayout>

здесь у меня есть ImageView в качестве фона, и сверху этого будет несколько кнопок изображения. Теперь я хочу реализовать EventListener (OnClickListener) для изображений и кнопок изображений. но когда я нажимаю на кнопки, это событие также переходит в просмотр изображений (который находится в фоновом режиме). как справиться с этой ситуацией?

Редактировать: OP Опубликован код в комментариях

mnuTab = (ImageView) this.findViewById(R.id.ImageMenu);
btnmin = (ImageButton) this.findViewById(R.id.btnNegative);
btnplus = (ImageButton) this.findViewById(R.id.btnPositive);
btnShare = (ImageButton) this.findViewById(R.id.btnShare);
mnuTab.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        // my functions
    }
});
btnmin.setOnClickListener(new OnClickListener() {
    public void onClick(View v) { }
});
btnplus.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        // my functions
    }
});

1 Ответ

0 голосов
/ 28 февраля 2012

Может быть, ваш ImageView очень большой, поэтому в FrameLayout он полностью затеняет ваш LinearLayout, поэтому все события переходят на ImageView? Вы можете попытаться визуально проверить границы ImageView и LinearLayout в Eclipse в редакторе пользовательского интерфейса. Я также не думаю, что использование FrameLayout в вашем случае является хорошей идеей, обычно FrameLayout используется для того, чтобы сделать один элемент пользовательского интерфейса видимым, а все остальные - невидимыми для обеспечения своего рода переключателя пользовательского интерфейса, что здесь не так. Кажется, вы можете удалить FrameLayout, установить вместо него фоновое изображение LinearLayout и обработать все в обработчиках ImageViews.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...