Сделать макет кадра видимым с помощью нажатия кнопки - PullRequest
0 голосов
/ 23 июня 2018

Я пытаюсь сделать структуру кадра видимой нажатием кнопки. Вот мой 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>

если я буду видеть Extrastxt для видимого, это не работает.

Java-код:

Extrastxt.setVisibility(View.VISIBLE);

Xamarin код:

Extrastxt.Visibility = ViewStates.Visible;

IMG

Ответы [ 3 ]

0 голосов
/ 23 июня 2018

Попробуйте задать идентификатор для структуры фрейма и установите его визуальность как

    <?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-код:

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

При нажатии кнопки:

myFrameLayout.setVisibility(View.VISIBLE);

0 голосов
/ 23 июня 2018

Если вы хотите увидеть свою структуру кадра, то вы должны сделать экземпляр структуры кадра видимым, используя FrameLayout.setVisibility(View.VISIBLE).

проверьте код ниже:

 <?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>

в Активности:

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

А при нажатии кнопки просто сделайте ее видимой или невидимой, используя метод setVisibility .

0 голосов
/ 23 июня 2018

мне кажется, что вы не правильно инициализируете это представление.Подведите вопрос об инициализации кода «Extrastxt».Также попробуйте посмотреть, что происходит в коде, когда видимость объекта изменяется с помощью debug

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