2015-10-27 51 views
2

我一直在試圖讓一個佈局展開自己,只要按下查看更多按鈕。第二個標題應該與第一個標題具有相同的框。我想使它所以當用戶按下「查看更多」按鈕,在第二個冠軍仍然是展開的文字下面從標題1 layout wireframe如何相對擴展一個圖像相對於另一個對象android

這裏是我的佈局代碼:

<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:weightSum="1" 
    > 

    <!-- The ActionBar --> 
    <include 
     layout="@layout/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 
<ScrollView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 

    android:layout_weight="2.43"> 
    <!-- The main content view --> 
    <RelativeLayout 
     android:id="@+id/flContent" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 

     > 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="210dp" 
      android:id="@+id/img_chucrute" 
      android:background="@drawable/img_chucrute" /> 

     <ImageView 
      android:layout_width="130dp" 
      android:layout_height="30dp" 
      android:id="@+id/titulo_chucrute" 
      android:background="@drawable/chucrute_titulo" 
      android:layout_marginTop="227dp" 
      android:layout_marginLeft="6dp" /> 

     <ImageView 
      android:layout_width="80dp" 
      android:layout_height="25dp" 
      android:id="@+id/preco_chucrute" 
      android:background="@drawable/preco_chucrute" 
      android:layout_marginTop="231dp" 
      android:layout_marginLeft="272dp" /> 

     <ImageView 
      android:layout_width="309dp" 
      android:layout_height="5dp" 
      android:id="@+id/linha_pagkits" 
      android:background="@drawable/linha_pagkits" 
      android:layout_marginTop="270dp" 
      android:layout_marginLeft="27dp" /> 

     <ImageView 
      android:layout_width="100dp" 
      android:layout_height="20dp" 
      android:id="@+id/titulo_ingredientes" 
      android:background="@drawable/ingredientes_titulo" 
      android:layout_marginTop="282dp" 
      android:layout_marginLeft="29dp" /> 

     <com.example.renan.chefemcasa.ExpandableTextView 
      android:id="@+id/lorem_ipsum" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="302dp" 
      android:layout_marginLeft="32dp" 
      /> 

     <ImageView 
      android:layout_width="309dp" 
      android:layout_height="5dp" 
      android:id="@+id/linha_apagar" 
      android:background="@drawable/linha_pagkits" 
      android:layout_marginLeft="27dp" 
      android:layout_marginTop="375dp" 
      android:visibility="gone" /> 

     <ImageView 
      android:layout_width="309dp" 
      android:layout_height="5dp" 
      android:id="@+id/imageView7" 
      android:background="@drawable/linha_pagkits" 
      android:layout_marginLeft="27dp" 
      android:layout_marginTop="370dp" /> 


    </RelativeLayout> 

</ScrollView> 


</LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:visibility="visible"> 
      <ImageButton 
       android:layout_width="180dp" 
       android:layout_height="50.5dp" 
       android:id="@+id/imageButton11" 
       android:background="@drawable/botao_adicionais" 
       android:layout_marginTop="517dp" /> 

      <ImageButton 
       android:layout_width="180dp" 
       android:layout_height="50.5dp" 
       android:id="@+id/imageButton12" 
       android:background="@drawable/botao_finalizar" 
       android:layout_marginTop="-51dp" 
       android:layout_marginLeft="180dp"/> 
    </LinearLayout> 



<!-- The navigation drawer --> 
<android.support.design.widget.NavigationView 
    android:id="@+id/nvView" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:background="@android:color/white" 
    app:headerLayout="@layout/nav_header" 
    app:menu="@menu/drawer_view" /> 

感謝您的幫助!

+0

是否要展開和摺疊TextView /一些多視圖? –

回答

0

我沒有在佈局上看到任何TextView元素,並且您擁有的按鈕似乎沒有與展開文本不同的目的。一旦在佈局上有Button和TextView,當按下按鈕時,可以將額外的內容(更長的文本)注入到TextView中。

方法如下:

添加TextView的和按鈕將你的layout.xml(你可以添加文本格式化標籤,等等,以滿足您的需求)。

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/text_to_expand" 
    android:text="short blah blah blah" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/expand_button" 
    android:text="expand" /> 

然後,從您的活動中檢索Button和TextView並添加所需的行爲。

private Button expandButton; 
private TextView expandableText; 

... 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_init); 

    // retrieve the button and the textview from your layout 
    expandButton = (Button)findViewById(R.id.expand_button); 
    expandableText = (TextView)findViewById(R.id.expand_button); 

    // set button functionality when it is clicked 
    expandButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // replace the text in your TextView by new longer content 
      expandableText.setText("blah, blah, blah, very long, blah, blah"); 
     } 
    }); 

    ... 
} 

... 

對於加分,如果添加此行包含您的TextView的佈局,大小的變化將動畫。

<LinearLayout android:id="@+id/container" 
    android:animateLayoutChanges="true" 
    ... 
/> 

希望這有助於!

相關問題