2015-07-06 9 views
5

बनाएं मैं सामग्री CardView और कस्टम अस्थायी एक्शन बटन के साथ के बाद छवि की तरह लेआउट बनाना चाहते: enter image description hereCardView साथ लेआउट और फ्लोटिंग एक्शन बटन एंड्रॉयड

और मैं इस लेआउट xml फ़ाइल तक विकसित किया गया था इस प्रकार है:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:fab="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <RelativeLayout 
     android:id="@+id/mainview" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <android.support.v7.widget.CardView 
      android:id="@+id/cv" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:cardCornerRadius="2dp" 
      app:cardElevation="2dp" 
      android:layout_marginBottom="@dimen/cardMarginVertical" 
      android:layout_marginLeft="@dimen/cardMarginHorizontal" 
      android:layout_marginRight="@dimen/cardMarginHorizontal" 
      android:layout_marginTop="@dimen/cardMarginVertical" 
      app:cardPreventCornerOverlap="false" 
      app:contentPadding="0dp"> 

      <com.github.florent37.materialviewpager.sample.ExpandableTextView 
       android:id="@+id/expandingTextView" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:textSize="15dp" 
       android:layout_marginLeft="10dp" 
       android:layout_marginTop="10dp" 
       android:layout_marginRight="10dp" 
       android:layout_marginBottom="10dp" 
       android:text="@string/longText" /> 

      <RelativeLayout 
       android:id="@+id/buttonlayout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/expandingTextView" 
       android:layout_gravity="bottom" 
       android:background="@android:color/transparent"> 

       <com.getbase.floatingactionbutton.FloatingActionButton 
        android:id="@+id/action_c" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        fab:fab_colorNormal="#fff" 
        android:layout_alignParentRight="true" 
        fab:fab_colorPressed="#fff" 
        android:visibility="visible" /> 
      </RelativeLayout> 
     </android.support.v7.widget.CardView> 
    </RelativeLayout> 
</FrameLayout> 
+0

कृपया मुझे इस लेआउट मैं 2 दिन के साथ इस लेआउट पर काम कर रहा है, लेकिन करने के लिए लेआउट को पूरा करने में सक्षम नहीं के रूप में उलझन में था में मदद यह तस्वीर। –

उत्तर

10

अपनी तस्वीर की तरह यूआई को लागू करने के लिए, नीचे दिए गए कुछ कोड मदद कर सकते हैं।

पैरामीटर layout_anchor और layout_anchorGravityFloatingActionButton बिंदु पर हैं।

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

    <android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <android.support.v7.widget.CardView 
      android:id="@+id/cv" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="16dp"> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="The Android Support Library package is a set of code libraries that provide backward-compatible versions of Android framework APIs as well as features that are only available through the library APIs. Each Support Library is backward-compatible to a specific Android API level. This design means that your applications can use the libraries' features and still be compatible with devices running Android 1.6 (API level 4) and up." /> 

     </android.support.v7.widget.CardView> 

    </android.support.v4.widget.NestedScrollView> 

    <android.support.design.widget.FloatingActionButton 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     app:layout_anchor="@id/cv" 
     app:layout_anchorGravity="right|end|bottom" 
     android:layout_margin="16dp" 
     android:clickable="true"/> 

</android.support.design.widget.CoordinatorLayout> 

संपादित करें:

जल्दी जवाब एंड्रॉयड 5.0.1 और 5.0.2 में कुछ बग था, फैब CardView नीचे दिखाएगी।

एंड्रॉयड 5.0.1 में काम करने के CardView बाहर layout_behavior साथ NestedScrollView जोड़ें और 5.0.2

+0

हाय एली मैं इसे आजमाऊंगा और आपको जल्द ही सूचित करूंगा ... –

+0

क्या आप ऊपर दिए गए मेरे पोस्ट कोड में एक कोड बदल सकते हैं, इसलिए मैं इसे आसानी से करने में सक्षम हूं। समर्थन के लिए धन्यवाद। –

+1

मैंने अपने लेआउट से कुछ अनुपयोगी कोड हटा दिया। आप एक नज़र देख सकते हैं। –

संबंधित मुद्दे