Android Development with Kotlin

  1. Android UI Fundamentals
    1. Views and ViewGroups
      1. The View Hierarchy
        1. Parent-Child Relationships
          1. Layout Rendering Process
            1. View Tree Structure
            2. View Lifecycle
              1. Measure
                1. Layout
                  1. Draw
                  2. Common View Widgets
                    1. TextView
                      1. Displaying Text
                        1. Text Styling
                          1. Spans and Markup
                          2. EditText
                            1. User Input Handling
                              1. Input Types
                                1. Input Validation
                                  1. TextWatcher
                                  2. Button
                                    1. Click Events
                                      1. Customizing Appearance
                                        1. Button States
                                        2. ImageView
                                          1. Displaying Images
                                            1. Scale Types
                                              1. Tinting
                                              2. ImageButton
                                                1. CheckBox
                                                  1. Toggle States
                                                    1. Compound Button Events
                                                    2. RadioButton and RadioGroup
                                                      1. Grouping Radio Buttons
                                                        1. Selection Handling
                                                        2. Switch and ToggleButton
                                                          1. ProgressBar
                                                            1. Determinate and Indeterminate
                                                            2. SeekBar
                                                              1. Progress Tracking
                                                              2. Spinner
                                                                1. Adapters
                                                            3. Layouts with XML
                                                              1. LinearLayout
                                                                1. Orientation (Horizontal/Vertical)
                                                                  1. Weight Distribution
                                                                    1. Gravity and Layout Gravity
                                                                    2. RelativeLayout
                                                                      1. Positioning with Rules
                                                                        1. Alignment Rules
                                                                          1. Margin and Padding
                                                                          2. ConstraintLayout
                                                                            1. Constraints and Anchors
                                                                              1. Chains
                                                                                1. Guidelines
                                                                                  1. Barriers
                                                                                    1. Groups
                                                                                      1. Performance Considerations
                                                                                      2. FrameLayout
                                                                                        1. Layering Views
                                                                                          1. Foreground and Background
                                                                                          2. TableLayout
                                                                                            1. Table Structure
                                                                                              1. Column Spanning
                                                                                              2. GridLayout
                                                                                                1. Grid-based Positioning
                                                                                                2. ScrollView and HorizontalScrollView
                                                                                                  1. Enabling Scrolling
                                                                                                    1. Nested Scrolling
                                                                                                    2. NestedScrollView
                                                                                                    3. Layout Attributes and Properties
                                                                                                      1. Common Layout Parameters
                                                                                                        1. Width and Height
                                                                                                          1. Margins and Padding
                                                                                                            1. Gravity and Layout Gravity
                                                                                                            2. View Positioning
                                                                                                              1. View Sizing
                                                                                                                1. match_parent
                                                                                                                  1. wrap_content
                                                                                                                    1. Fixed Dimensions
                                                                                                                  2. Handling User Interaction
                                                                                                                    1. Event Listeners
                                                                                                                      1. OnClickListener
                                                                                                                        1. OnLongClickListener
                                                                                                                          1. OnTouchListener
                                                                                                                            1. OnFocusChangeListener
                                                                                                                              1. Other Common Listeners
                                                                                                                              2. Event Handling Patterns
                                                                                                                                1. Anonymous Inner Classes
                                                                                                                                  1. Lambda Expressions
                                                                                                                                    1. Method References
                                                                                                                                    2. Capturing User Input
                                                                                                                                      1. Retrieving Text and Values
                                                                                                                                        1. Input Validation Techniques
                                                                                                                                        2. Touch Events and Gestures
                                                                                                                                          1. MotionEvent
                                                                                                                                            1. GestureDetector
                                                                                                                                          2. Styling and Theming
                                                                                                                                            1. Using Styles
                                                                                                                                              1. Defining Styles
                                                                                                                                                1. Applying Styles
                                                                                                                                                  1. Style Inheritance
                                                                                                                                                  2. Creating and Applying Themes
                                                                                                                                                    1. Theme Attributes
                                                                                                                                                      1. Theme Inheritance
                                                                                                                                                        1. Dark Theme Support
                                                                                                                                                        2. Material Design Components
                                                                                                                                                          1. Material Buttons
                                                                                                                                                            1. Material Cards
                                                                                                                                                              1. Material Text Fields
                                                                                                                                                                1. Color and Typography Guidelines
                                                                                                                                                                  1. Material Design System
                                                                                                                                                                  2. Custom Drawables
                                                                                                                                                                    1. Shape Drawables
                                                                                                                                                                      1. Selector Drawables
                                                                                                                                                                        1. Layer List Drawables