texto quitar privateme para oculto ocultar elementos como aplicaciones aplicacion android

android - quitar - Oculta un texto de edición y hazlo visible haciendo clic en un menú



privateme (2)

Tengo un diseño que tiene los detalles de contacto del teléfono. Cuando hago clic en el menú de opciones, necesito hacer que un texto de edición esté visible en esa pantalla. Lo he hecho. Pero hay un problema que enfrenta que la altura del texto de edición está ocupada en la pantalla cuando se hace invisible. ¿Cómo puedo eliminar el espacio ocupado por la edición de texto, mientras que es invisible en la pantalla (diseño)? A continuación se muestra mi código

Mi xml es:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingLeft="10dp" android:paddingRight="10dp"> <ListView android:id="@id/android:list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:drawSelectorOnTop="false"> </ListView> <TextView android:id="@id/android:empty" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="No Entries available"> </TextView> <TableRow android:id="@+id/TableRow001" android:layout_width="wrap_content" android:background="#C0C0C0" android:layout_height="wrap_content"> <EditText android:id="@+id/NumberEditText01" android:layout_width="wrap_content" android:paddingLeft="20dip" android:layout_height="wrap_content"> </EditText> <Button android:layout_width="wrap_content" android:id="@+id/callNow01" android:layout_height="wrap_content" android:text="Call now" > </Button> </TableRow> </LinearLayout>

y clase:

public class ListContacts extends ListActivity { TableRow tableRow; EditText phoneNumber; Button callNow; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Associate the xml with the activity setContentView(R.layout.activitylist); tableRow = (TableRow) findViewById(R.id.TableRow001); tableRow.setVisibility(View.INVISIBLE); phoneNumber = (EditText) findViewById(R.id.NumberEditText01); phoneNumber.setVisibility(View.INVISIBLE); phoneNumber.setKeyListener(DialerKeyListener.getInstance()); callNow = (Button) findViewById(R.id.callNow01); callNow.setVisibility(View.INVISIBLE); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case FIRST: tableRow.setVisibility(View.VISIBLE); phoneNumber.setVisibility(View.VISIBLE); callNow.setVisibility(View.VISIBLE); break; } } }


Pruebe phoneNumber.setVisibility(View.GONE);


protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.waist2height); { final EditText edit = (EditText)findViewById(R.id.editText); final RadioButton rb1 = (RadioButton) findViewById(R.id.radioCM); final RadioButton rb2 = (RadioButton) findViewById(R.id.radioFT); if(rb1.isChecked()){ edit.setVisibility(View.VISIBLE); } else if(rb2.isChecked()){ edit.setVisibility(View.INVISIBLE); } }