0
votes

Comment faire le côté droit de ma mise en page cliquable?

J'ai cette mise en page:

holder.showHideBtn.setOnClickListener(view -> {
            if (invisible) {
                holder.layout.setVisibility(View.VISIBLE);
                invisible = false;
                holder.showHideBtn.setImageResource(R.drawable.ic_up_arrow);
            } else {
                holder.layout.setVisibility(View.GONE);
                invisible = true;
                holder.showHideBtn.setImageResource(R.drawable.down_arrow);
            }

        });


4 commentaires

Essayez d'écrire onclick auditeur pour les deux, framelayout et votre imageview .


Pouvez-vous expliquer plus de quoi essayez-vous exactement d'atteindre ici? Vous avez une vue d'ensemble d'une seule image à droite, puis la mise en page couvre toute la zone ce que vous êtes exactement signifié à droite? Peut-être partager une image de ce que vous essayez exactement d'atteindre?


@Umair, à l'heure actuelle, j'ai ceci - cliquez sur ImageView et la mise en page linéaire cachée devient visible. My ImageView est trop petit et certains des utilisateurs ne peuvent pas appuyer dessus à partir de la première fois. J'ai décidé de faire une petite partie de la principale mise en page linéaire cliquable, non seulement ImageView.


@Andrewgoroshko Vous devez utiliser votre Framelayout comme votre imagview. Ajouter Cliquez sur Soutailer à votre Framelayout pas à l'image d'image.


4 Réponses :


1
votes

Essayez d'écrire onclick auditeur pour les deux, framelayout et votre imageview , car votre imageview couvre maintenant votre Framelayout Et vous n'avez que cette petite zone qui n'est pas couverte par imageview . Cela devrait aider.


6 commentaires

J'ai ajouté la photo des résultats de mon travail, pouvez-vous vérifier?


Avez-vous essayé ma réponse? Aide-t-il?


Êtes-vous sûr que votre framelayout est à cet endroit exactement?


Oui sûr, je l'ai fait comme si cela devait être, mais je ne peux cliquer sur ImageView.


Pouvez-vous montrer votre code de onclick des deux framelayout et imageview


Laissez-nous Continuez cette discussion dans le chat .



1
votes

Vous devez ajouter votre lismetteur de clic sur votre disposition de trame non sur imageview . Dans ce cas, votre framelayout fonctionnera comme votre imageview . xxx


5 commentaires

J'ai ajouté la photo des résultats de mon travail, pouvez-vous vérifier?


@Andrewgoroshko Si vous ajoutez un gestionnaire pour Framelayout, n'en ajoutez pas click Lister pour ImageView.


@Andrewgoroshko Supprimer le gestionnaire de clic pour ImageView, un seul sera suffisant


J'ai supprimé le gestionnaire de clic, mais je peux montrer des éléments cachés que lorsque je clique sur ImageView


@Andrewgoroshko n'était-ce pas ce que vous vouliez?. Je suis confus maintenant :)



1
votes

Supprimer votre Framelayout et définir imageview comme ceci xxx

Votre image prendra le côté droit et avec L'icône sera placée sur le côté inférieur.


2 commentaires

tout agit comme une image dans ma question :(


Êtes-vous sûr? Je viens de le tester et pour moi, ça marche. Assurez-vous de définir l'auditeur OnCliquez uniquement dans votre imageview .



0
votes

J'ai réussi à résoudre mon problème via CONTRAINT_LAYOUT:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="4dp"
    android:orientation="vertical"
    app:autoSizeMaxTextSize="20sp"
    app:autoSizeMinTextSize="8sp"
    app:autoSizeStepGranularity="1sp"
    app:autoSizeTextType="uniform">

    <RelativeLayout
        android:id="@+id/relLay"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="#F2F2F2"
        app:layout_constraintHorizontal_weight="0.7"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@+id/testClick"
        app:layout_constraintTop_toTopOf="parent">

        <ImageView
            android:id="@+id/service_icon"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="20dp" />

        <TextView
            android:id="@+id/name_of_service"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/service_icon"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:fontFamily="@font/opensans_semibold"
            android:textAlignment="center"
            android:textColor="#4D4D4D"
            android:textSize="14sp" />


    </RelativeLayout>


    <FrameLayout
        android:id="@+id/testClick"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:background="#F2F2F2"
        app:layout_constraintBottom_toBottomOf="@id/relLay"
        app:layout_constraintHorizontal_weight="0.3"
        app:layout_constraintLeft_toRightOf="@+id/relLay"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <ImageView
            android:id="@+id/expand_btn"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginEnd="10dp"
            android:layout_marginBottom="10dp"
            android:src="@drawable/down_arrow" />
    </FrameLayout>


    <LinearLayout
        android:id="@+id/layout_descr"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="4dp"
        android:background="@drawable/test_back"
        android:visibility="gone"
        app:layout_constraintTop_toBottomOf="@id/relLay">

        <TextView
            android:id="@+id/description"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="15dp"
            android:layout_marginTop="10dp"
            android:layout_marginEnd="10dp"
            android:layout_marginBottom="20dp"
            android:fontFamily="@font/opensans_semibold"
            android:textColor="#666666" />
    </LinearLayout>


0 commentaires