Contoh Android ViewStub

ViewStub adalah tampilan tak terlihat berukuran nol yang digunakan untuk memuat "tata letak resource" saat runtime. ViewStub adalah Tampilan dimensi nol, sehingga Anda tidak akan melihat apa pun pada palet tata letak.

Untuk membuat resource terlihat, kita perlu memanggil metode inflate(). Untuk membuat ViewStub terlihat atau tidak terlihat, menggunakan metode setVisibility(int). Konstanta View.VISIBLE digunakan untuk membuat ViewStub terlihat dan konstanta View.GONE digunakan untuk tidak terlihat.

Contoh Android ViewStub

Mari kita membuat contoh ViewStub View yang menampilkan dan menyembunyikan ImageView (gambar) yang dibuat dalam file layout (my_layout.xml) lain.

* Main Activity

File : activity.xml

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:paddingBottom="@dimen/activity_vertical_margin"  
    android:paddingLeft="@dimen/activity_horizontal_margin"  
    android:paddingRight="@dimen/activity_horizontal_margin"  
    android:paddingTop="@dimen/activity_vertical_margin"  
    tools:context="com.example.test.viewstubexample.MainActivity">  
 
    <ViewStub  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:id="@+id/viewStub"  
        android:layout_marginLeft="120dp"  
        android:layout="@layout/my_layout"  
        android:layout_alignParentTop="true" />  
 
    <Button  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="Show"  
        android:id="@+id/show"  
        android:layout_alignParentBottom="true"  
        android:layout_alignParentLeft="true"  
        android:layout_alignParentStart="true"  
        android:layout_marginLeft="65dp"  
        android:layout_marginStart="65dp" />  
 
    <Button  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="Hide"  
        android:id="@+id/hide"  
        android:layout_alignParentBottom="true"  
        android:layout_toRightOf="@+id/show"  
        android:layout_toEndOf="@+id/show"  
        android:layout_marginLeft="51dp"  
        android:layout_marginStart="51dp" />  
 
</RelativeLayout>  


File : my_layout.xml

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent">  
 
    <ImageView  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:id="@+id/imageView"  
        android:background="@drawable/image"  
        />  
 
</LinearLayout>  


* Activity class

File : MainActivity.java

package com.example.test.viewstubexample;  
 
import android.support.v7.app.AppCompatActivity;  
import android.os.Bundle;  
import android.view.View;  
import android.view.ViewStub;  
import android.widget.Button;  
 
public class MainActivity extends AppCompatActivity {  
    ViewStub viewStub;  
    Button show,hide;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
 
        show=(Button)findViewById(R.id.show);  
        hide=(Button)findViewById(R.id.hide);  
        viewStub=(ViewStub)findViewById(R.id.viewStub);  
        viewStub.inflate();  
 
        show.setOnClickListener(new View.OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                viewStub.setVisibility(View.VISIBLE);  
            }  
        });  
        hide.setOnClickListener(new View.OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                viewStub.setVisibility(View.GONE);  
            }  
        });  
    }  
}  


Output :

Android ViewStub


Berlangganan update artikel terbaru via email:

0 Response to "Contoh Android ViewStub"

Posting Komentar

Iklan Atas Artikel

Iklan Bawah Artikel