每当按下查看更多按钮时,我一直在尝试使布局展开。第二个标题应该与第一个标题具有相同的框。我想这样做,当用户按下“查看更多”按钮时,第二个标题仍然位于标题1的扩展文本下方。layout wireframe
这是我的布局代码:
<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 :(得分:0)
我没有在您的布局上看到任何TextView元素,而您所使用的按钮似乎与扩展文本的目的不同。在布局上有Button和TextView之后,按下按钮时可以将额外的内容(更长的文本)注入TextView。
以下是:
将TextView和Button添加到您的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"
...
/>
希望这有帮助!
答案 1 :(得分:0)
您可以尝试使用以下库之一:
如果您需要帮助,请告诉我们。