2013-09-18 4 views
0

Моя цель, чтобы скрыть текст и сохранить TextView занимает свое место в деятельности, я устанавливаю уже мой текст, чтобы быть невидимым с помощью:Скрыть текст только, но не вся TextView

tv.setVisibility(View.INVISIBLE); 

и когда кнопка нажата она показать текст, каждая вещь отлично работает, за исключением результата моего кода привести, чтобы скрыть всю TextView не только текст, потому что я установил мое TextView предысторию вытяжки формы, которые образуют красную рамку вокруг текста, как:

android:background="@drawable/border1" 

    <TextView 
    android:id="@+id/introclusion_tv3" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/border1" 
    android:textSize="20sp" /> 

при запуске приложение вы можете видеть только пустое место, которое будет заполнено текстом после кнопки щелкните здесь, но там нет границы (которые исходят из фона формы), поэтому он скрывает весь текст и мне нужно его скрыть только текст и сохранить текст в фоновом режиме, если текст установлен на INVISIBLE,

любая помощь будет действительно оценил, спасибо.

это, как я сделал это:

TextView tv11=(TextView)findViewById(R.id.introclusion_tv3); 
    tv11.setText(Html.fromHtml(getString(R.string.introclusion_one))); 
    tv11.setVisibility(View.INVISIBLE); 

затем после нажмите но так и написать правильный пароль, если он показывает текст как:

Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK); 

     dialogButton.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       dialog.dismiss(); 

       EditText password = (EditText) dialog.findViewById(R.id.password); 

       if(password.getText().toString().length() > 0) { 
        if(password.getText().toString().equals("test")) { 

         TextView tv11=(TextView)findViewById(R.id.introclusion_tv3); 
         tv11.setTypeface(FontFactory.getBFantezy(getBaseContext())); 
         tv11.setText(Html.fromHtml(getString(R.string.introclusion_one))); 
         tv11.setVisibility(View.VISIBLE); 
         } 

ответ

1

Вы можете mak е простой трюк: написать две строки

позволяет сказать, что в первой и второй части кода просто удалите эту строку

tv11.setVisibility(View.INVISIBLE); 

и

tv11.setVisibility(View.VISIBLE); 

так будет

TextView tv11=(TextView)findViewById(R.id.introclusion_tv3); 
tv11.setText(Html.fromHtml(getString(R.string.introclusion_one))); 

затем во второй части напишите, как следует;

if(password.getText().toString().equals("test")) { 

     TextView tv11=(TextView)findViewById(R.id.introclusion_tv3); 
     tv11.setTypeface(FontFactory.getBFantezy(getBaseContext()));       
     tv11.setText(Html.fromHtml(getString(R.string.introclusion_one_appear)));      
        } 

где первая строка будет пустой

<string name="introclusion_one"> 

и вторая строка, которую вы будете писать свой текст в нем

<string name="introclusion_one_appear"> 

Надежда помочь вам.

0

сохранить то, что есть в текстовом виде строки как это:

 String x = (String)tv11.getText(); 

затем сделать вид текста пустым, как это:

String x = ""; 
for(int i = 0; i < x.length(); i++){ 
x +=" "; 
} 
tv11.setText(x); 

сделать TextView видимым снова сделать:

tv11.setText(x); 
2

Прозрачный цвет текста скрывает текст:

<TextView 
    android:id="@+id/introclusion_tv3" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/border1" 
    android:textColor="@android:color/transparent" 
    android:textSize="20sp" /> 

Если вы хотите, чтобы показать текст, изменить цвет текста программно с помощью метода setTextColor():

tv11.setTextColor(color); 
+0

это гений. – seekingStillness

2
// try this way 
<LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/border1"> 

     <TextView 
      android:id="@+id/introclusion_tv3" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:textSize="20sp" /> 

</LinearLayout> 
Смежные вопросы