Ich versuche, ein Rahmenlayout mit einem Klick auf die Schaltfläche sichtbar zu machen. Hier ist meine XML

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:orientation="horizontal"
        >
        <EditText
            android:id="@+id/Extrastxt"
            android:layout_height="wrap_content"
            android:layout_width="200dp"
            android:hint="Message..."
            android:visibility="invisible" />

    </LinearLayout>
</FrameLayout>

Wenn ich Extras Text sichtbar mache, funktioniert es nicht.

Java-Code:

Extrastxt.setVisibility(View.VISIBLE);

Xamarin-Code:

Extrastxt.Visibility = ViewStates.Visible;

img

-2
daa daa 23 Juni 2018 im 22:17

3 Antworten

Beste Antwort

Wenn Sie Ihr Framelayout dann sichtbar machen möchten, sollten Sie die Instanz von Framelayout mit FrameLayout.setVisibility(View.VISIBLE) sichtbar machen.

Überprüfen Sie den folgenden Code:

 <?xml version="1.0" encoding="utf-8"?>
        <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/framelayout"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <LinearLayout
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:orientation="horizontal"
            >
            <EditText
                android:id="@+id/Extrastxt"
                android:layout_height="wrap_content"
                android:layout_width="200dp"
                android:hint="Message..."
                android:visibility="invisible" />

        </LinearLayout>
    </FrameLayout>

In Aktivität:

FrameLayout frameLayout = findViewById(R.id.framelayout);

Wenn Sie auf die Schaltfläche klicken, wird sie mit der Methode setVisibility sichtbar oder unsichtbar.

0
Gausul 24 Juni 2018 im 07:30

Es scheint mir, dass Sie diese Ansicht nicht richtig initialisieren. Bringen Sie die Frage nach dem Initialisierungscode "Extrastxt". Versuchen Sie auch zu sehen, was im Code passiert, wenn die Sichtbarkeit des Objekts per Debug geändert wird

0
Aidar Zainutdinov 23 Juni 2018 im 19:27

Geben Sie dem Rahmenlayout die ID und stellen Sie die Visbalität wie folgt ein

    <?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myFrame"
    android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
<LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="horizontal" > <EditText android:id="@+id/Extrastxt" android:layout_height="wrap_content" android:layout_width="200dp" android:hint="Message..." android:visibility="invisible" /> 
</LinearLayout> </FrameLayout>

Java-Code:

FrameLayout myFramelyout= (FrameLayout) findViewByID(R.id.myFrame)

Auf Knopfdruck:

myFrameLayout.setVisibility(View.VISIBLE);

0
Gausul 24 Juni 2018 im 08:26