2016-04-15 7 views
6

Ich habe durch einige gelesen mehr Button Fragen, aber ich habe nicht eine Art von Lösung, die ich suchte mehr bekommen. Ich möchte nur bestimmte Teile des Layouts anzeigen und nur wenn der Benutzer die Schaltfläche Mehr lesen betätigt, wird der Rest des Layouts mit Dropdown-Animation angezeigt. Etwas Derartiges: enter image description hereRead More Button in Android

enter image description here

+0

Mögliches Duplikat [Hinzufügen "Mehr" am Ende des Textview nach 3 Zeilen] (http://stackoverflow.com/questions/19675331/add-view-more-at-the -end-of-textview-nach-3-Zeilen) –

+0

Kann Duplikat von http://stackoverflow.com/questions/19675331/add-view-more-at-the-end-of-textview-after-3- sein Linien –

+0

ja, aber ich habe keine befriedigenden Lösungen von ihnen bekommen .. @Sushants Antwort ist genau das, was ich gesucht habe – mrnobody

Antwort

1

Ich kann Ihnen den genauen Code u will, aber ich kann helfen, u durch einen Beispielcode geben, die Ihren Anforderungen entspricht,

Hier ich nur beschreiben dass mehr/weniger Schaltflächenfunktionalität funktioniert. zunächst in Ihrer activity_main.xml Datei einfügen unter 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); 

    } 
    }); 

} 

} 

und schließlich Ihre string.xml Datei 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\'s 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> 

ändern und Ihr Projekt ausführen Es wird Ihnen unten Ausgang geben.

normal view Expanded view