gpt4 book ai didi

Android:如何处理长文本

转载 作者:搜寻专家 更新时间:2023-11-01 08:59:02 25 4
gpt4 key购买 nike

如何在我的 Activity 布局中处理我不知道它有多长的长文本?

我在 TextView 中有此文本,当它太长时,它会覆盖我的按钮。

最佳答案

您是在谈论 Textview 还是 Button?如果它是一个 Textview,你可以使用像下面这样的 marque textview。它会自动滚动以便显示所有文本

<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:ellipsize="marquee"

android:lines="1"
android:fadingEdge="horizontal"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:text="Your Looooooooooooooooooooooooooooooooooooooooong text!"
android:textColor="#000"
android:textSize="15dp" />

在你的代码中,

    textview.setSelected(true);
textview.setEllipsize(TruncateAt.MARQUEE);
textview.setHorizontallyScrolling(true);
textview.setSingleLine(true);
textview.setLines(1);

如果你想要一个可展开的 Textview,做这样的事情。它有一个按钮来展开/折叠 textview。

在 xml 中,

 <RelativeLayout 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"
tools:context=".MainActivity" >

<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="sdfsdfsdfsfasfdsfgdfgdfsgsdfgsdfgsdfgsdgsdgdsgdsgsdfgdsgdsfgsdfgsdgsdfgsdfgdsfgsdgdsgfsdgfsdgsdfgdsgdsfgdsfgdsfgsdghjghjghjghjghjfg"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/relativeLayout1"
android:text="Button" />

</RelativeLayout>

在代码中,

boolean checkflag = true;// declare it as public

final RelativeLayout rl=(RelativeLayout)findViewById(R.id.relativeLayout1);


Button b=(Button)findViewById(R.id.button1);
final TextView text=(TextView)findViewById(R.id.textView1);



b.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub

if(checkflag==true)
{

text.setSingleLine(true);
checkflag=false;
}

else
{
text.setSingleLine(false);
checkflag=true;
}

}
});

关于Android:如何处理长文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16791617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com