Beruflich Dokumente
Kultur Dokumente
WPD39806
MILLENUMIA STUDIO
1
TEAM MEMBERS
NO NAME STUDENT ID
1. MUHAMMAD AMRI BIN MOHD AMIN 52102217025
2. MUHAMMAD AFIQ BIN AZLI 52102217149
TABLE OF CONTENTS
2
1.3 Purposes of the Project 1
1.4 Aim of Project 1
1.5 Objectives of the Project 2
1.6 Problem Statement 2
1.7 Important of Project 2
1.8 Scope of Project 3
1.9 Conclusion 3
3
5.3.2 Highlight Results 29
7. APPENDIX 33
7.1 APPENDIX A 33
7.1.1 Gantt chart ……………………………………………………................. 33
7.2 APPENDIX B 34
7.2.1 Storyboard Design ……...……………………………………………….. 34
7.3 APPENDIX C 35
7.3.1 Final Costing …………………………………………………………….. 35
7.4 APPENDIX D 37
7.4.1 Memo Meeting …………………………………………………………....37
7.5 APPENDIX E 40
7.5.1
Minute Meeting …………………………………………………………...40
7.6 APPENDIX F 46
7.6.1 Program writing .…………………………………………………………..46
4
CHAPTER 1: INTRODUCTION
1.1 wrong format!!
Introduction of Project
KITNAC Catalogue App is an online store enable for user to select and browse
products until proceed to check-out and delivery.
1.2
Project Background
KITNAC Enterprise is a retail-based local company focusing on unisex print tops
and men’s kurta. The company includes printing service on t-shirt in varying types of
materials. Millenumia Studios is proposing an Android app for KITNAC specifically
for displaying and purchasing ready-stock items.
Describe details
1.3
Purposes of Project
The purpose of the project is the implementation of the approved project by
Millenumia Studios that is to be funded by KITNAC Enterprise through the clients’
initiative.
1.4
Aim of Project
To develop an Android-based software for KITNAC Enterprise.
1.5
Objectives of Project
● To develop a software as per the project subject.
● To achieving company requirements. What of requirement
● To increase potential customers.
1.6
Problem Statement
The company state the problem to determine the stock availability. Thus, this project
will controlling stock flow and elevate company incomes. The upcoming prototype
will solve this problem.
1.7
Important of Project
This is the example of UNIQLO App in iOS showing from home page to collection
page.
Adobe Illustrator CC
Authoring Adobe Animate CC
Adobe XD CC
Programming Android Studio
Scope of Project
The scope of the project is to implementing project purposes and client requirements
to the app. The limitations is the boundaries or areas that out of the project scope.
What do you mean ?? what your project limit? It will become your project scope
1.9
Conclusion
The product is targeting youthful users below 30 years. Top wear are available on
both genders and kurta only available for men. Most dense area of location are users
in Klang Valley. Extensively users’ linguistics are set to English. Large part of users’
ethnicities are Malaysians. User navigation and interface is linked to minimal design
language thus interpreting native Android operating system.
Introduction
This project is based on Android mobile apps. The definition of mobile apps is used
in small devices or as known as smartphones and tablets. Is it known with pre-
installed operating system consisting Google Android, Microsoft Windows and
Apple iOS. It is also being develop by original equipment manufacturer (OEM) by
Google Company as well as Apple.
Justify paragraph
2.2
● Task allocation
The task will distributed to each of team members through the process of design and
development
2.3
The intention of the app is to sort the types of clothing and promote the best-selling
items for the customer. The users will use the app when to shop online at KITNAC
Store through social media and online retailers. It is easier to navigate the catalogue
so the customer will choose the right products and they can proceed to booked online
through social media.
Order through
Home page Item category Item colour Back to Home
social media
2.4
Case Study
ADVANTAGES DISADVANTAGES
Colourful interface Overall colour usage is less minimal
Comfy and spacious layout Less information in a page
Intuitive navigation (easy size and colour Load time took a bit longer
selection)
ZALORA
ADVANTAGES DISADVANTAGES
Minimal color interface Monochromic palette appears less attractive
Large image in category page More scrolling
Fast load time and navigation Item color selection not included, need to
navigate back to items page
ZARA APP
ADVANTAGES DISADVANTAGES
Selling item are presented with whole outfit Materials of an item are not stated
Easy and fast navigation Too simple design
Includes several styling recommendation Some image glitch due to clothing pattern
according to an item – need to zoom in
Figure 2.4.3.2 Case study of Zara App
The team are decide to choose the ZARA apps as the main guideline for KITNAC
Catalogue App. For the design, we are inspired by ZARA monochromatic blends and
the image layout design. We are also include flash animation for Featured Items page
which the team decides to include 360° image panning of best-selling products. We
also include detailed material information from client and care label to ensure
longevity of a product.
CHAPTER 3: METHODOLOGY
3.1
Introduction
A methodology is the systematic analysis applied to a field of study. In order to
achieve the plans and results with budget needed for a project. It is crucial to
understand the theory of developing an app. The app uses ADDIE model, consisting
five steps of completing a project.
3.2.1
3.2.1
Phase 1: Planning
Planning is a first and foremost step. A project always start with a vision. Then, a
vision will interpret to goals, timeframe and finding teams that can deliver best
outcomes of a project. A successful app requires careful planning. A project is
thought to be a crucial contributor to ahead for the next phase. A well written project
plan gives guidance for obtaining resources, financing and required materials. The
project plan gives the team direction for producing quality outputs, handling risk,
creating acceptance, interpersonal skills to connect with clients and managing
project. The project plan also prepares teams for the possible outcomes to encounter
throughout the flow of projects. Thus, elevate understanding the cost, scope and
timings of the project.
In the planning phase, teams are formed according to the project requirements,
assigning each of the team members the scope and roles based on their forte. The
development team must understand and specify the scope of the work to be done, the
required resources, the risks attached, the task to be granted, the energy or the cost to
be expected and the schedule to be followed. The formed team will set up a Gantt
chart, to monitor the activities, and to make sure the project is finished not beyond
the deadline.
After a Gantt chart is done be set up, the team discuss related to the cost
management and cost estimation for the project. Cost is one of those consideration
that project management needs to enhancing control. Cost management includes the
processes required to ensure the project is completed within the approved budget. It
revamps the task such as resources planning, cost and budget utilization.
3.2.2
Phase 2: Analysis
After doing a careful planning, development of multimedia courseware begins with
the analysis phase. Analysis is the process of defining what is to be learned by the
students in a course in a given environment. There are four different types of analysis
that be carried out: need analysis, learner analysis, content analysis and environment
analysis as show in Figure 3.2.2.
Need Content
Analysis Analysis
Requirement
Analysis
Learner Environment
Analysis Analysis
The first step in the systemic design of app start with analyze project needs and
problems in instructional design. Need analysis will analyzing what is necessary
steps to deal with problems related to present the clothes that are exact to the idea of
creating the app. Typically, the data is accumulated from the real situation and
resolve the issue that can be make use when problems arise. The need analysis help
to determine the shortcoming skills and ability in the students and addressed it to the
app. This can be done by surveillance from students and scholars.
3.2.3
Phase 3: Design
To point out how the items are to be sell and presented is to know the process of
course design. The system is examine carefully to design a clothing store app to be
distributed that will establish the easiness to navigate the catalogue and shopping is a
breeze. In a development of KITNAC Catalogue App, the catalogue is may vary
from all types of clothing and texture. The content have to be properly defined and
presented effectively.
In design phase, the team conduct research on case study on KITNAC Catalogue
App and 3 application that is related with clothing store app. As a result, the
development has started, followed by the design. For instance, the design will plan
the suitable feature to be included in the application with intuitive navigation for the
user.
Thus, the site map is produced for the application. Site map is how the app workflow
is presented, showing how the user interacts with the app. This design is used for
instructional design and development. The site map is the results of implementing
and concept. The site map visualizes the interaction of the app organized in
hierarchical diagram. The site map plays a crucial part to develop a stable and
intuitive system.
The team creates a storyboard for the app. A member will draw the storyboard of
each page and buttons to interact with another page. Then, the storyboard is
submitted to the lecturer and the client to check if there is any fixes to be made. After
the submission is approved, the team start to design the app.
For the interface design, the team uses Adobe XD to design on a spreadsheet that
utilize the ratio and resolution of common Android phones. The page layout and
navigation structure is design in the software will be preview and will be shown to
the lecturers and client to make amendments on the fixes that can be done. From the
amendments given, the preview design can be update and fixed so that the expected
deadline will be met.
3.2.4
Phase 4: Development
The development phase is followed by the analysis and design that has been made.
The process of authoring and creating the app material is the part of development
process. To ensure the app has been build according to the specification, the app will
be test. Then, the team will proceed to the task given referring to analysis and design
phase. The most crucial part for this phase may be authoring the app content. During
this phase, the resources which are obtained and developed from the images, buttons,
contents and animation will be integrated as a fully developed app.
So, it is important to choose the right software and hardware as it is necessarily for
the development to run smoothly. The lists of software that has been used in the
development is presented below.
Adobe Photoshop CC
Authoring Adobe XD CC
Programming Android Studio
Animations Adobe Animate CC
Phase 5: Implement
The app can be distributed to the user once the apps is compiled and tested. The
implementation of the development has been made during this phase. Phones and
emulators are setting up by team members to get ready for distribution. The installer
files are distributed and installed. The product will be delivered to the targeted end-
users to use the application. The prototype is tested with active Internet connection to
open the links in the app.
A brief navigation from team members to the user is introduced. User feedback is
required in an active manner to manage the system. The improvements of issue and
flawless interface is the result from the continuous feedback.
Specification Laptops
For the testing phase is the considerably most important steps which can begin as
new as first stage at the making of individual segments is finished. The app need to
be tested using multiple integration testing ways once all the segments are combined.
It is possible during this phase to check whether the app is successfully build or
should have any amendments to be made so testing and debugging is required. It
could save time on fixing the errors by doing so. The team will tested the app and
help to find potential problems overlooked during the development of the app and
avoid any issue arise in the present times. Amendments will be made during this
phase. Moreover, any spelling errors and sketchy sentences need to be checked
during this phase. Lastly, a team meeting with lecturers is set up in schedule. The app
is inspected and adjusted.
3.2.6
Phase 6: Evaluation
The last stage of the method is evaluation. The app need to carefully check within
this phase. The app ready to be utilize once the process of evaluate is completed.
During this phase, the product is evaluated by lecturers and presented by the team
members. A submission of report to the lecturers has been made. For improving the
app, the comments and recommendation will be given. Along with the observation of
the successful app and also the delivery of the app to the user. It is helpful to offer
any recommendations to elevate the quality of the app, for future development
purposes.
Should be noting that the app has achieved the goals or not during the evaluation
phase. The product has reached for instructional enhancements after the evaluation
has been ended.
CHAPTER 4: PRODUCT DEVELOPMENT
4.1
Introduction
Product means any marketable thing with some utility in it, produce either by a labor
or through series of automated process. Development is an act of making or
achieving a continuous progress in something by someone. Progress transit from an
earlier policy (traditional approach) to an advanced policy (modern approach).
Product development is a specialized activity. It is does to improve the existing
product or to introduce a new product in the market. It is also done to improve the
earlier features or techniques or systems. Generally, it means a newly-product
development. Newly-product development means to introduce a brand new product
in the market. It means to add a fresh product to an existing line of products. In this
chapter, it will explain the development of prototype of KITNAC app.
4.2
Site Map
A site map is a visual organized model of a KITNAC catalogue app that allows the
users to navigate the app by just only using a mobile to get through about the content
of KITNAC catalogue, to know the materials of our product, to know the category of
our brand, to make sure the product is still in stock and available, to know the sizes
and the colors of the product that you want, to get update with our promotions and
our new arrival product and as we know if all the step that we mention before are
ready then for sure the customers will make a surveillance without go to the boutique
and also with a simple operation. This app can be used everywhere and anytime
without a limitation. Just make your finger dance on your mobile phone screen.
4.3
Prototype
1. Home page
Figure 4.3.1 shows a home page of KITNAC Catalogue App. The page consists of 4
buttons.
2. Category page
This page has 4 buttons assigning the types of clothes respectively. Back to home
button will navigate user to go back to the home page.
3. Longline & Long Sleeves
The page has a button links to the name of the clothes which brings user to the color
selection. Back to category button navigate users to go back to the category page.
4. Color selection
Users will navigate the featured items in a detailed, all side view. View button will
brought user to the item panning page.
6. Item panning
Users can see the clothes material information and the label guide to care the clothes
properly.
8. Contact page
This page contains 3 social media links to the official KITNAC Facebook, Instagram
and Twitter account. Below the buttons are the screenshot of the KITNAC office
location map.
CHAPTER 5: INTEGRATION AND TESTING
5.1
Introduction
In this chapter, we will handle the integration and testing of the application which is
the type of testing which includes in the software development process.
5.2
Integration
Before system testing comes with the integration testing in the application. Then, the
application testing will be done. The integration works by grouping the individual
modules and integrate after the testing phase of each modules. For example, the
elimination of the bugs and errors within the process of integration. Integration deals
with the process in the system instead of, the whole system of the integration.
5.3
Testing
System testing is a test of a whole system, it gets all the integrated modules of the
components from integration testing phase and combines all parts to a whole
software which is then tested.
5.3.1
Method of testing
Types of testing Description
Usability testing User can access the application features and how in
ease the application interacts with the user.
GUI testing (Graphics User Interface) To check graphically how the programs looks and
works as intended
Reliability testing To check the application works for long period and
does not crashing
Highlight Results
Based on the review of integration testing, the data will be collect by how the testing
is in process. According to the test, the application with latest build will be test on
the usability, user interface and reliability, of total average in 10 times. Figure shows
the summary of the test. 7 out of 10 times pass the testing on the usability and
reliability of the application. 9 out of 10 times is pass with the familiarity of user
interface.
Test steps: Usability Result Test steps: GUI Result Test steps: Reliability Result
Open app Pass Navigation between Pass Category sorting Pass
layout
Open category page Pass Button responsiveness Pass Name sorting Pass
Select category Pass Text button Pass Color selection Pass
Image slide Pass: Scroll to view Pass Price Pass
1 error
Icons (Image or Pass: Indicator Pass Availability Pass
button) 2
errors
Open care label page Pass Color Pass Item size Fail: no
clickabl
e
Open featured page Pass Description text Pass Contact page Pass
Open contact page Pass Image load Pass Care label page Pass
Map Pass Layout Pass Panning Pass
Social media button Pass Density per inch Pass Map Pass
support
Introduction
For this project, we get more suggestions from client, the client gave a lot of
suggestions what we need to do for next semester. Thanks to our lecturer for gave us
some help too for the suggestion.
6.2
Conclusion
The time management during the project, we managed well and it make the
presentation go well but still yet have some problems and we managed to fix that.
We glad because we having two modules reviewed by the lectures during the
presentation and we might be take the ideas for making better on the next progress
for the next semester that we have to facing soon.
However, we discussed each other and agreed that the mobile app can improve and
modified into a better mobile app, as there is some suggestion for more
improvements.
6.2.1
Review of objective
Throughout the development of probing and instill the idea to the software has open
new methods to develop new features. Hence, our company has opportunity to attract
more projects of software designing.
6.2.2
Advantages Disadvantages
Colorful interface Overall color usage is less minimal
Comfy and spacious layout Less information in a page
Intuitive navigation Load time took a bit longer
6.2.3
● Add to cart
● Zoom in clothes material
● Improve navigation speed
● Make app available for any platforms (Android and iOS)
Through this KITNAC catalogue app, we hope that this mobile app will facilitate
users to use it with an upright feedback.
Gantt chart
Storyboard Design
Final Costing
1.1 Product Development Min. Max
System Design @ 1 - 3 weeks, 1 – 2 people RM2,000 RM6,000
Interface Design and Build @ 2 - 4 weeks, 2
- 4 people RM1,500 RM3,000
Site Integration @ 2 - 4 weeks, 2 - 4 people RM250 RM750
Site Testing @ 2 - 4 weeks, 2 - 4 people RM250 RM750
Delivery/Installation @ 2 - 4 weeks, 2 - 4
people RM150 RM450
Estimated Cost of Development RM7,150 to RM19,950
Prepared By Approved By
Time: 10.00 am
Location: UniKL MIIT
Attendance: Amri & Afiq
Subject: Final Prototype Build
UNIVERSITI KUALA LUMPUR
FINAL YEAR PROJECT 2018
PRESENT
NO. NAME ROLES
1 Muhammad Amri bin Mohd Amin Project Manager
2 Muhammad Afiq bin Azli Designer
No Agenda Action
1.0 WELCOME REMARKS BY PROJECT MANAGER
3.1 The roles are assigned between the members All members
PRESENT
NO. NAME ROLES
1 Muhammad Amri bin Mohd Amin Project Manager
2 Muhammad Afiq bin Azli Designer
No Agenda Action
1.0 WELCOME REMARKS BY PROJECT MANAGER
Storyboard
3.1 Project Manager asks the team free time to meet the client All members
for signoff
4.1 Project Manager shows the Final Costing and paper work to
the team. The team finalize the proposal without changes
Amri
been made.
Program writing
package com.example.lenovo.kitnachome2;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_care_label);
}
}
package com.example.lenovo.kitnachome2;
import android.support.design.widget.TabLayout;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import com.github.chrisbanes.photoview.PhotoView;
import com.github.chrisbanes.photoview.PhotoViewAttacher;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cat1_basic_ls);
package com.example.lenovo.kitnachome2;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_category1);
ImageButton basicls = (ImageButton) findViewById(R.id.button9);
ImageButton intcameols = (ImageButton) findViewById(R.id.button19);
ImageButton cameoss = (ImageButton)
findViewById(R.id.button19_css);
ImageButton ltj = (ImageButton) findViewById(R.id.button19_ltj);
Button back2category = (Button) findViewById(R.id.button25);
((ImageButton) basicls).setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intbasicls = new Intent(Category1Activity.this,
Cat1BasicLS.class);
startActivity(intbasicls);
}
});
((ImageButton) intcameols).setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intcameols = new Intent(Category1Activity.this,
Cat1CameoLS.class);
startActivity(intcameols);
}
});
((ImageButton) cameoss).setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intcss = new Intent(Category1Activity.this,
Cat1CameoSS.class);
startActivity(intcss);
}
});
}
}
package com.example.lenovo.kitnachome2;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contact);
}
public void browser1(View view){
Intent browserIntent = new
Intent(Intent.ACTION_VIEW,Uri.parse("http://www.instagram.com/kitnac"));
startActivity(browserIntent);
}
public void browser2 (View view){
Intent browserIntent2 = new
Intent(Intent.ACTION_VIEW,Uri.parse("http://www.facebook.com/profile.php?
id=100004385418853"));
startActivity(browserIntent2);
}
public void browser3 (View view){
Intent browserIntent3 = new
Intent(Intent.ACTION_VIEW,Uri.parse("http://www.twitter.com/kitnacteam?
lang=en"));
startActivity(browserIntent3);
}
}
package com.example.lenovo.kitnachome2;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import pl.droidsonroids.gif.GifImageView;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
package com.example.lenovo.kitnachome2;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button toast;
toast = (Button) findViewById(R.id.imageView25);
toast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"Coming
soon!",Toast.LENGTH_LONG).show();
}
});
((ImageButton) mainbtn1).setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent mainint1 = new Intent(MainActivity.this,
CategoryActivity.class);
startActivity(mainint1);
}
});
((ImageButton) mainbtn2).setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent mainint2 = new Intent(MainActivity.this,
FeaturedActivity.class);
startActivity(mainint2);
}
});
((ImageButton) mainbtn3).setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent mainint3 = new Intent(MainActivity.this,
CareLabelActivity.class);
startActivity(mainint3);
}
});
((ImageButton) mainbtn4).setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
Intent mainint4 = new Intent(MainActivity.this,
ContactActivity.class);
startActivity(mainint4);
}
});
}
}
package com.example.lenovo.kitnachome2;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment)
getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
package com.example.lenovo.kitnachome2;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
@Override
public int getCount() {
return image.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return (view == object);
}
@Override
public Object instantiateItem(ViewGroup container, final int position)
{
//return super.instantiateItem(container, position);
ImageView img;
inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.item_slider, container,
false);
img = itemView.findViewById(R.id.img_item);
img.setImageResource(image[position]);
img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, Fullscreen.class);
intent.putExtra("position", position);
context.startActivity(intent);
}
});
container.addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object
object) {
container.removeView((ImageView)object);
}
<ImageView
android:id="@+id/imageView47"
android:layout_width="wrap_content"
android:layout_height="5dp"
android:layout_marginStart="8dp"
android:layout_marginTop="36dp"
android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/featured_line_5" />
<ImageView
android:id="@+id/imageView58"
android:layout_width="84dp"
android:layout_height="18dp"
android:layout_marginBottom="4dp"
app:layout_constraintBottom_toTopOf="@+id/imageView55"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@drawable/care_label_pane" />
<ImageView
android:id="@+id/imageView55"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView47"
app:srcCompat="@drawable/featured_line_5" />
<ImageView
android:id="@+id/imageView59"
android:layout_width="80dp"
android:layout_height="20dp"
android:layout_marginStart="28dp"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView55"
app:srcCompat="@drawable/care_label_header" />
<ImageView
android:id="@+id/imageView60"
android:layout_width="90dp"
android:layout_height="36dp"
android:layout_marginStart="28dp"
android:layout_marginTop="8dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView59"
app:srcCompat="@drawable/material_label" />
<ImageView
android:id="@+id/imageView62"
android:layout_width="75dp"
android:layout_height="20dp"
android:layout_marginStart="28dp"
android:layout_marginTop="20dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView60"
app:srcCompat="@drawable/icon_label_grid" />
<ImageView
android:id="@+id/imageView22"
android:layout_width="40dp"
android:layout_height="132dp"
android:layout_marginStart="32dp"
android:layout_marginTop="16dp"
app:layout_constraintEnd_toStartOf="@+id/imageView61"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView62"
app:srcCompat="@drawable/icon_label_grid2" />
<ImageView
android:id="@+id/imageView61"
android:layout_width="212dp"
android:layout_height="134dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="96dp"
app:layout_constraintBottom_toBottomOf="@+id/imageView22"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/imageView22"
app:layout_constraintTop_toTopOf="@+id/imageView22"
app:layout_constraintVertical_bias="0.0"
app:srcCompat="@drawable/label_grid" />
</android.support.constraint.ConstraintLayout>
<ImageView
android:id="@+id/imageView4"
android:layout_width="wrap_content"
android:layout_height="2dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.492"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.04000002"
app:srcCompat="@drawable/featured_line_5" />
<ImageView
android:id="@+id/imageView5"
android:layout_width="72dp"
android:layout_height="18dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView4"
app:srcCompat="@drawable/category_title" />
<ImageView
android:id="@+id/imageView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.492"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView5"
app:layout_constraintVertical_bias="0.0"
app:srcCompat="@drawable/featured_line_6" />
<Button
android:id="@+id/button5"
android:layout_width="0dp"
android:layout_height="135dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/cat_lls"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.494"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView6"
app:layout_constraintVertical_bias="0.0" />
<Button
android:id="@+id/button6"
android:layout_width="0dp"
android:layout_height="135dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/cat_polo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button5"
app:layout_constraintVertical_bias="0.0" />
<Button
android:id="@+id/button7"
android:layout_width="0dp"
android:layout_height="135dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/cat_print"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button6"
app:layout_constraintVertical_bias="0.0" />
<Button
android:id="@+id/button8"
android:layout_width="0dp"
android:layout_height="135dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/cat_sig"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button7"
app:layout_constraintVertical_bias="0.0" />
<Button
android:id="@+id/button26"
android:layout_width="104dp"
android:layout_height="18dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/back2home"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button8" />
</android.support.constraint.ConstraintLayout>
<ImageView
android:id="@+id/imageView8"
android:layout_width="184dp"
android:layout_height="18dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
app:srcCompat="@drawable/category_longline_ls" />
<ImageView
android:id="@+id/imageView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.492"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView8"
app:layout_constraintVertical_bias="0.0"
app:srcCompat="@drawable/featured_line_5" />
<ScrollView
android:id="@+id/scrollView7"
android:layout_width="match_parent"
android:layout_height="570dp"
android:layout_marginStart="8dp"
android:layout_marginTop="40dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:orientation="vertical">
<ImageButton
android:id="@+id/button9"
android:layout_width="wrap_content"
android:layout_height="300dp"
android:layout_margin="4dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/basic_long_sleeve_black" />
<Button
android:id="@+id/b9"
android:layout_width="135dp"
android:layout_height="20dp"
android:layout_marginStart="12dp"
android:layout_marginTop="4dp"
android:layout_weight="1"
android:background="@drawable/basic_ls" />
<ImageView
android:id="@+id/imageView10"
android:layout_width="63dp"
android:layout_height="20dp"
android:layout_marginStart="12dp"
app:srcCompat="@drawable/rm_29" />
<ImageView
android:id="@+id/imageView11"
android:layout_width="109dp"
android:layout_height="13dp"
android:layout_marginStart="12dp"
app:srcCompat="@drawable/more_colours" />
<ImageButton
android:id="@+id/button19"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_margin="4dp"
android:paddingTop="8dp"
app:srcCompat="@drawable/cameo_long_sleeves1" />
<Button
android:id="@+id/b19"
android:layout_width="145dp"
android:layout_height="20dp"
android:layout_marginStart="12dp"
android:layout_marginTop="4dp"
android:background="@drawable/cameo_ls" />
<ImageView
android:id="@+id/imageView35"
android:layout_width="63dp"
android:layout_height="20dp"
android:layout_marginStart="12dp"
app:srcCompat="@drawable/rm_59" />
<ImageButton
android:id="@+id/button19_css"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_margin="4dp"
android:paddingTop="8dp"
app:srcCompat="@drawable/cameo_long_tee1" />
<Button
android:id="@+id/b19_css"
android:layout_width="120dp"
android:layout_height="20dp"
android:layout_marginStart="12dp"
android:layout_marginTop="4dp"
android:background="@drawable/cameo_long_t" />
<ImageView
android:id="@+id/imageView35_css"
android:layout_width="63dp"
android:layout_height="20dp"
android:layout_marginStart="12dp"
app:srcCompat="@drawable/rm_79" />
<ImageButton
android:id="@+id/button19_ltj"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_margin="4dp"
android:paddingTop="8dp"
app:srcCompat="@drawable/long_tee_jersey4" />
<Button
android:id="@+id/b19_ltj"
android:layout_width="115dp"
android:layout_height="20dp"
android:layout_marginStart="12dp"
android:layout_marginTop="4dp"
android:background="@drawable/lt_jersey" />
<ImageView
android:id="@+id/imageView35_ltj"
android:layout_width="63dp"
android:layout_height="20dp"
android:layout_marginStart="12dp"
app:srcCompat="@drawable/rm_29" />
<ImageView
android:id="@+id/imageView11_ltj"
android:layout_width="109dp"
android:layout_height="13dp"
android:layout_marginStart="12dp"
app:srcCompat="@drawable/more_colours" />
</LinearLayout>
</ScrollView>
<Button
android:id="@+id/button25"
android:layout_width="136dp"
android:layout_height="18dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:background="@drawable/back2category"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/scrollView7" />
</android.support.constraint.ConstraintLayout>
<ImageView
android:id="@+id/imageView12"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
android:src="@drawable/basic_ls"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.502"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="44dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:src="@drawable/featured_line_5"
app:layout_constraintBottom_toTopOf="@+id/pager"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.555"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0" />
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="350dp"
android:layout_marginStart="8dp"
android:layout_marginTop="54dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="32dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"></android.support.v4.view.ViewPage
r>
<android.support.design.widget.TabLayout
android:id="@+id/indicator"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"
app:layout_constraintTop_toBottomOf="@+id/pager"
app:tabBackground="@drawable/indicator_selector"
app:tabGravity="center"
app:tabIndicatorHeight="0dp" />
<TextView
android:id="@+id/textViewBLS"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:fontFamily="@font/oswald_light"
android:text="RM29.00"
android:textAlignment="viewStart"
android:textSize="18sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.488"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/indicator" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:text="Made with pure cotton. Available in 4 colours."
android:textAlignment="textStart"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.505"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewBLS" />
<ImageView
android:id="@+id/imageView16"
android:layout_width="106dp"
android:layout_height="18dp"
android:layout_marginStart="8dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView4"
app:srcCompat="@drawable/size_avail" />
<ImageView
android:id="@+id/imageView17"
android:layout_width="26dp"
android:layout_height="25dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="4dp"
app:layout_constraintEnd_toStartOf="@+id/imageView19"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView16"
app:srcCompat="@drawable/size_s" />
<ImageView
android:id="@+id/imageView19"
android:layout_width="26dp"
android:layout_height="25dp"
android:layout_marginEnd="4dp"
app:layout_constraintBottom_toBottomOf="@+id/imageView17"
app:layout_constraintEnd_toStartOf="@+id/imageView20"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/imageView17"
app:layout_constraintTop_toTopOf="@+id/imageView17"
app:srcCompat="@drawable/size_m" />
<ImageView
android:id="@+id/imageView20"
android:layout_width="26dp"
android:layout_height="25dp"
android:layout_marginEnd="4dp"
app:layout_constraintBottom_toBottomOf="@+id/imageView19"
app:layout_constraintEnd_toStartOf="@+id/imageView21"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/imageView19"
app:layout_constraintTop_toTopOf="@+id/imageView19"
app:layout_constraintVertical_bias="0.0"
app:srcCompat="@drawable/size_l" />
<ImageView
android:id="@+id/imageView21"
android:layout_width="26dp"
android:layout_height="25dp"
android:layout_marginEnd="8dp"
app:layout_constraintBottom_toBottomOf="@+id/imageView20"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/imageView20"
app:layout_constraintTop_toTopOf="@+id/imageView20"
app:layout_constraintVertical_bias="1.0"
app:srcCompat="@drawable/size_xl" />
</android.support.constraint.ConstraintLayout>
<?xml version="1.0" encoding="utf-8"?>
<com.github.chrisbanes.photoview.PhotoView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/full_img">
</com.github.chrisbanes.photoview.PhotoView>
</ImageView>