Android - как EditText ведет себя как label и textField - PullRequest
0 голосов
/ 24 февраля 2012

как изменить фон поля EditText при нажатии кнопки? В режиме просмотра он просто отображается как метка без рамки, а после нажатия кнопки он переходит в режим редактирования с рамкой. Спасибо

Ответы [ 4 ]

2 голосов
/ 24 февраля 2012

Используйте ваш текст редактирования, как показано ниже в main.xml

<EditText
        android:id="@+id/et"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="#f00"
        android:text="hello"
        android:background="#000"
        android:padding="5dip"/>

Поместите ниже код ( bg.xml ) в Drawable папку

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">   
    <solid android:color="#fff"/>    
    <corners android:radius="3dip" />
    <stroke android:color="#00f"
        android:width="2dip" />
</shape>

Кнопка записи Нажмите прослушиватель, как показано ниже в файле Java

button.setOnClickListener(new View.OnClickListener() {          
        @Override
        public void onClick(View v) {
            et.setBackgroundResource(R.drawable.bg);
        }
    });

Надеюсь, это поможет вам. Вы должны изменить цвета по своему усмотрению.

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

Я бы использовал селектор для фона editText, с сфокусированным изображением как сфокусированное изображение по умолчанию, а обычное изображение - просто с прозрачностью. Затем установите селектор в качестве фона EditText, и вам не понадобится OnClickListener или какое-либо программное исправление.

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

Чтобы отобразить editText в качестве метки, вы можете сделать фон прозрачным, как показано ниже ...

android:background="#00000000"

А если вы хотите, чтобы при щелчке была рамка, вы можете программно установить изображение с рамкой в ​​качестве фона...

0 голосов
/ 24 февраля 2012
     button.setOnClickListener(new OnClickListener() {    
            public void onClick(View v) {
                // TODO Auto-generated method stub
                editText.setBackgroundColor("to ur specified colour");
            }
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...