2016-01-24 5 views
0

Как это возможно? Благодаря! Должен ли я помещать свой View (RelativeLayout) поверх другого View и сделать его невидимым, и когда пользователь нажимает кнопку, он устанавливает его на видимое? Или есть еще один простой способ открыть диалог (?) В середине экрана?Как сделать вид, если кнопка нажата в android

Спасибо!

+1

Я использую метод настройки видимости. Но вы можете подождать еще нескольких ответов экспертов. Если есть другой лучший способ, мне также будет интересно узнать это. – Arshad

+0

Вы собираетесь открыть диалоговое окно нажатием кнопки? Почему бы не использовать AlertDialog? – Opiatefuchs

ответ

0

Вам нужен макет, чтобы поместить вид ребенка. Safest - это линейная компоновка, так как добавление нескольких дочерних элементов легко

Fisrt создает XML-файл в макетах.

для, например, в макете добавить файл с именем сказать iv.xml

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

<ImageView 
    android:id="@+id/iv_iv" 
    android:layout_width="200dp" 
    android:layout_height="120dp" 
    android:padding="2dp" 
    android:scaleType="fitCenter" 
    android:src="@drawable/person_default_page" /> 

В макете, где вы хотите добавить создать линейное расположение с некоторыми это сказать @ + ID/ROW_ID Затем в коде, когда вам нужно будет добавить вид

LinearLayout ll = = (LinearLayout) findViewById(R.id.Row_id); 
ll.removeAllViews(); 
View element = LayoutInflater.from(this).inflate(R.layout.iv, ll, false); 
ImageView image_iv = (ImageView) element.findViewById(R.id.ri_iv); 
ll.addView(element); 
0

Да, вы можете сделать это с помощью диалогового окна предупреждения. Если вы хотите настроить диалоговое использовать этот -Первый создать XML для диалогового

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content"> 
<ImageView 
    android:src="@drawable/header_logo" 
    android:layout_width="match_parent" 
    android:layout_height="64dp" 
    android:scaleType="center" 
    android:background="#FFFFBB33" 
    android:contentDescription="@string/app_name" /> 
<EditText 
    android:id="@+id/username" 
    android:inputType="textEmailAddress" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="16dp" 
    android:layout_marginLeft="4dp" 
    android:layout_marginRight="4dp" 
    android:layout_marginBottom="4dp" 
    android:hint="@string/username" /> 
<EditText 
    android:id="@+id/password" 
    android:inputType="textPassword" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="4dp" 
    android:layout_marginLeft="4dp" 
    android:layout_marginRight="4dp" 
    android:layout_marginBottom="16dp" 
    android:fontFamily="sans-serif" 
    android:hint="@string/password"/> 

и переопределить этот метод

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
// Get the layout inflater 
LayoutInflater inflater = getActivity().getLayoutInflater(); 

// Inflate and set the layout for the dialog 
// Pass null as the parent view because its going in the dialog layout 
builder.setView(inflater.inflate(R.layout.dialog_signin, null)) 
// Add action buttons 
     .setPositiveButton(R.string.signin, new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int id) { 
       // sign in the user ... 
      } 
     }) 
     .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       LoginDialogFragment.this.getDialog().cancel(); 
      } 
     });  
return builder.create(); 

}

Подробнее о Devlopper android

Смежные вопросы