Académique Documents
Professionnel Documents
Culture Documents
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.dwi_ap.d1a160038.fas_4_r_b">
<application
android:allowBackup="true"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
CustomFilter.java
package com.dwi_ap.d1a160038.fas_4_r_b;
import android.widget.Filter;
import java.util.ArrayList;
}
}
ItemClickListener.java
package com.dwi_ap.d1a160038.fas_4_r_b;
import android.view.View;
public interface ItemClickListener {
void onItemClick(View v);
}
MainActivity.java
package com.dwi_ap.d1a160038.fas_4_r_b;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.SearchView;
import android.support.v7.widget.Toolbar; import
android.view.View; import android.widget.ListView;
import java.util.ArrayList;
SearchView sv;
ListView lv;
MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}});
sv= (SearchView) findViewById(R.id.mSearch);
lv= (ListView) findViewById(R.id.lv);
adapter=new MyAdapter(this,getMovies());
lv.setAdapter(adapter);
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener()
{ @Override
public boolean onQueryTextSubmit(String query) {
return false;}
@Override
public boolean onQueryTextChange(String query) {
adapter.getFilter().filter(query);
return false;
} });
}
private ArrayList<Movie> getMovies() {
//COLECTION OF CRIME MOVIES
ArrayList<Movie> movies=new ArrayList<>();
Movie movie=new Movie("Betadin Cair ","atau luka terbakar.",R.drawable.betadin);
movies.add(movie);
movie=new Movie("paramex","paramex, analgetik ",R.drawable.paramex);
movies.add(movie);
movie=new Movie("Bodrex Flu & Batu","sendi dan kondisi lainnya.",R.drawable.bodrex);
movies.add(movie);
movie=new Movie("Meloxicam","Meloxicam inflammatory drug (NSAID).",R.drawable.me);
movies.add(movie);
return movies;
}
}
Movie.java
package com.dwi_ap.d1a160038.fas_4_r_b;
MyAdapter.java
package com.dwi_ap.d1a160038.fas_4_r_b;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Filter;
import android.widget.Filterable;
import android.widget.Toast;
import java.util.ArrayList;
//IDENTITDIER
@Override
public long getItemId(int position) {
return position; }
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if(inflater==null) {
inflater= (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
//PERFORM INFLATION
if(convertView==null)
{convertView=inflater.inflate(R.layout.model,null); }
//RETURN A ROW
return convertView;
}
@Override
public Filter getFilter() {
MyViewHolder.java
package com.dwi_ap.d1a160038.fas_4_r_b;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
ImageView img;
TextView nameTxt;
TextView descTxt;
ItemClickListener itemClickListener;
public MyViewHolder(View v) {
img= (ImageView) v.findViewById(R.id.movieImage);
descTxt= (TextView) v.findViewById(R.id.descTxt);
nameTxt= (TextView) v.findViewById(R.id.nameTxt);
v.setOnClickListener(this); }
@Override
public void onClick(View v) {this.itemClickListener.onItemClick(v);}
public void setItemClickListener(ItemClickListener ic)
{this.itemClickListener=ic; }}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.dwi_ap.d1a160038.fas_4_r_b">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
content_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
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"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.dwi_ap.d1a160038.fas_4_r_b.MainActivity"
tools:showIn="@layout/activity_main">
<android.support.v7.widget.SearchView
android:id="@+id/mSearch"
android:layout_width="match_parent"
android:layout_height="50dp"
app:defaultQueryHint="Search.."
/>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lv"
android:layout_below="@+id/mSearch"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
model.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_margin="10dp"
card_view:cardCornerRadius="10dp"
card_view:cardElevation="10dp"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/movieImage"
android:layout_width="98dp"
android:layout_height="106dp"
android:layout_alignParentStart="true"
android:layout_below="@+id/nameTxt"
android:padding="10dp" />
<TextView
android:id="@+id/nameTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:padding="10dp"
android:text="Name"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/colorAccent"
android:textSize="16sp" />
<TextView
android:id="@+id/descTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/movieImage"
android:layout_toEndOf="@+id/movieImage"
android:padding="10dp"
android:text="Deskripsi"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="10sp" />
</RelativeLayout>
</android.support.v7.widget.CardView>
Menu_main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.dwi_ap.d1a160038.fas_4_r_b.MainActivity">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never" />
</menu>
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#0a55ec</color>
</resources>
dimens.xml
<resources>
<!-- Default screen margins, per the Android Design guidelines.
--> <dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="fab_margin">16dp</dimen>
</resources>
dimens.xml
<resources>
<!-- Example customization of dimensions originally defined in
res/values/dimens.xml (such as screen margins) for screens with more than 820dp of
available width. This would include 7" and 10" devices in landscape (~960dp and
~1280dp respectively). -->
<dimen name="activity_horizontal_margin">64dp</dimen>
</resources>
String.xml
<resources>
<string name="app_name">Search Obat 1</string>
<string name="action_settings">Love Fasilkom</string>
</resources>
styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay"
parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> <style name="AppTheme.PopupOverlay"
parent="ThemeOverlay.AppCompat.Light" />
</resources>
styles.xml
<resources>>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item
name="android:statusBarColor">@android:color/transparent</item> </style>
</resources>