Read more button in android

I looked through a few questions about buttons, but I did not get the kind of solution I was looking for more. I want to display only a certain part of the layout, and only when the user clicks the Read More button, the rest of the layout with reduced animation will be displayed. Something like that: enter image description here

enter image description here

+6
source share
1 answer

I can’t give you the exact u code, but I can help you by providing a sample code that matches your requirement,

Here I only describe how more / less buttons work. First of all, in your action_main.xml folder below the code.

<ScrollView 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" > <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/description_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:maxLines="5" android:text="@string/desc_content" /> <ImageButton android:id="@+id/show" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="@+id/description_text" android:background="@drawable/arrow_down" android:clickable="true" /> <View android:id="@+id/view1" android:layout_width="wrap_content" android:layout_height="2dp" android:layout_below="@+id/description_text" android:layout_marginTop="5dp" android:layout_toLeftOf="@+id/show" android:background="#000" /> <ImageButton android:id="@+id/hide" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="@+id/description_text" android:background="@drawable/arrow_up" android:clickable="true" android:visibility="invisible" /> </RelativeLayout> </ScrollView> 

MainActivity.java

 package com.example.expand.textview; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.TextView; public class MainActivity extends Activity { TextView descText; ImageButton show, hide; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); descText = (TextView) findViewById(R.id.description_text); show = (ImageButton) findViewById(R.id.show); show.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { System.out.println("Show button"); show.setVisibility(View.INVISIBLE); hide.setVisibility(View.VISIBLE); descText.setMaxLines(Integer.MAX_VALUE); } }); hide = (ImageButton) findViewById(R.id.hide); hide.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { System.out.println("Hide button"); hide.setVisibility(View.INVISIBLE); show.setVisibility(View.VISIBLE); descText.setMaxLines(5); } }); } } 

and finally modify the string.xml file string.xml

 <resources> <string name="app_name">Expand TextView</string> <string name="hello_world">Hello world!</string> <string name="menu_settings">Settings</string> <string name="title_activity_main">MainActivity</string> <string name="desc_content"> Android powers hundreds of millions of mobile devices in more than 190 countries around the world. It\ the largest installed base of any mobile platform and growing fast—every day another million users power up their Android devices for the first time and start looking for apps, games, and other digital content. Android gives you a world-class platform for creating apps and games for Android users everywhere, as well as an open marketplace for distributing to them instantly. </string> </resources> 

and run the project. It will give you the result below.

normal view Advanced view

+1
source

All Articles