Hanzala - Lab 6
Hanzala - Lab 6
Lab Report 06
Hanzala Malik
BSCS-RC-133
BSCS 1 eve
activity_main.xml
android:textAppearance="@style/
Base.TextAppearance.AppCompat.Medium"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toRightOf="@+id/imageView"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@+id/imageView"/>
<ScrollView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginRight="@dimen/standard_marg
in"
android:layout_marginEnd="@dimen/standard_margin
" app:layout_constraintRight_toRightOf="parent"
android:layout_marginTop="@dimen/standard_margin
"
app:layout_constraintTop_toBottomOf="@+id/title"
android:layout_marginLeft="0dp"
android:layout_marginStart="0dp"
app:layout_constraintLeft_toLeftOf="@+id/title"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="@dimen/standard_mar
gin">
<TextView
android:id="@+id/article"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/article"
tools:layout_editor_absoluteX="8dp"
tools:layout_editor_absoluteY="288dp"/>
</ScrollView>
<fragment
android:id="@+id/fragment"
android:name="com.example.assignment2.SimpleFragm
ent" android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:layout="@layout/fragment_simple" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package com.example.assignment2;
import
androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Fragment.XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/
android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@color/my_fragment_color"
tools:context=".SimpleFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:id="@+id/fragment_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/question_article"
android:textAppearance="@style/
Base.TextAppearance.AppCompat.Medium"
android:textColor="@color/white"
android:padding="4dp" />
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radio_button_yes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:text="@string/yes"
android:textColor="@color/white" />
<RadioButton
android:id="@+id/radio_button_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:text="@string/no"
android:textColor="@color/white" />
</RadioGroup>
</LinearLayout>
Fragment.java:
package
com.example.assignment2;
import android.os.Bundle;
import
androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import
android.widget.RadioGroup;
import
android.widget.RatingBar;
import
android.widget.TextView;
import android.widget.Toast;
public class SimpleFragment extends Fragment {
private static final int YES = 0;
private static final int NO = 1;
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
public SimpleFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 =
getArguments().getString(ARG_PARAM1); mParam2
= getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup
container,
Bundle savedInstanceState) {
final View rootView =
inflater.inflate(R.layout.fragment_simple,
container, false);
final RadioGroup radioGroup =
rootView.findViewById(R.id.radio_group);
radioGroup.setOnCheckedChangeListener(new
RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int
checkedId)
{ View radioButton =
radioGroup.findViewById(checkedId); int index =
radioGroup.indexOfChild(radioButton); TextView
textView =
rootView.findViewById(R.id.fragment_header);
switch (index) {
case YES: // User chose "Yes."
textView.setText(R.string.yes_message);
break;
case NO: // User chose "No."
textView.setText(R.string.no_message);
break;
default: // No choice made.
break;
}
}
});
return rootView;
}
}
Output:
MMeyHeM
1-/0ni?'i' H':'I I=:8 :SDai'll ll
·1 i Lu·i111 i:r;:in;:i l l .,.j (.111
r:-:?r,:-,;,,::rr.;:11.::d t: • .:i,1,:-:i,:
Pn;:i-_ni:i:::erte;; t'.:: 1 -.....
\)fl i;!I ep.afl=iJ 11€:IEl ::I
b' lh-:! P·,:ik::.:.rJr. Ci'IL: QII
Lin.:
1«1 "".1l\tm· msr-.:i n ,:nr.
)re :::r 1t.e f":!1K01Si:;8n,
lull f·v1· .l1i:-p • f1 i..:.i
,:if r.n:! rlit r. rr:b:1crr.,
l k:.,v lhi=-;;·:::r · t"::1i"...1(1
i)l:lr!?l:ll•H-rl:'-lke-l:»1k:in
-::mr.:·1e-iL"!:--:JII i!l'I urm..:li,d,.-'.!
,;-;rr,:1.--.-il.1r:t-h;i!:li:r:,
llnE' l r[)';c c1rd
hl::idt'n G"li!lldJ(I:"' IIIDli ·
LUil fu (:Jr-1(:lc:,iit/
Lab Assignment:
activity_main.xml:
android:textAppearance="@style/
Base.TextAppearance.AppCompat.Medium"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toRightOf="@+id/imageView"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@+id/imageView"/>
<ScrollView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginRight="@dimen/standard_marg
in"
android:layout_marginEnd="@dimen/standard_margin
" app:layout_constraintRight_toRightOf="parent"
android:layout_marginTop="@dimen/standard_margin
"
app:layout_constraintTop_toBottomOf="@+id/title"
android:layout_marginLeft="0dp"
android:layout_marginStart="0dp"
app:layout_constraintLeft_toLeftOf="@+id/title"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="@dimen/standard_mar
gin">
<TextView
android:id="@+id/article"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/article"
tools:layout_editor_absoluteX="8dp"
tools:layout_editor_absoluteY="288dp"/>
</ScrollView>
<fragment
android:id="@+id/fragment"
android:name="com.example.assignment2.SimpleFragm
ent" android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:layout="@layout/fragment_simple" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package com.example.assignment2;
import
androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Fragment.xml:
android:textAppearance="@style/
Base.TextAppearance.AppCompat.Medium"
android:textColor="@color/white"
android:padding="4dp" />
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radio_button_yes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:text="@string/yes"
android:textColor="@color/white" />
<RadioButton
android:id="@+id/radio_button_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:text="@string/no"
android:textColor="@color/white" />
</RadioGroup>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"> <!-- Replace
with
your
desired color code -->
<TextView
android:id="@+id/textView_like_song"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4dp"
android:layout_marginBottom="10dp"
android:text="@string/question_next"
android:textAppearance="@style/
Base.TextAppearance.AppCompat.Medium"
android:textColor="@color/white" />
<RatingBar
android:id="@+id/ratingBar_song"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textView_like_song"
android:layout_centerHorizontal="true"
android:numStars="5"
android:stepSize="1.0"
android:isIndicator="false" />
</RelativeLayout>
</LinearLayout>
Fragment.java:
package
com.example.assignment2;
import android.os.Bundle;
import
androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import
android.widget.RadioGroup;
import
android.widget.RatingBar;
import
android.widget.TextView;
import android.widget.Toast;
public class SimpleFragment extends Fragment {
private static final int YES = 0;
private static final int NO =
1;
break;
}
}
});
ratingBar.setOnRatingBarChangeListener(new
RatingBar.OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar,
float rating, boolean fromUser) {
if (fromUser) {
Toast.makeText(getActivity(), "Rating: " +
String.valueOf(rating), Toast.LENGTH_SHORT).show();
}
}
});
return rootView;
}
}
Output: