安卓开发:如何静态和动态设置textView的文本和背景色彩,如何填?初学不知填什么.要详细

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓开发:如何静态和动态设置textView的文本和背景色彩,如何填?初学不知填什么.要详细相关的知识,希望对你有一定的参考价值。

静态就是在可视化的Graphical Layout内的属性内填
textView1.TextColor(文本色)
textView1.Background(背景色)
中填 @android就会自动弹出所有定义的色彩值
如 @android:color/holo_blue_bright
动态就是程序中设定色彩
import android.graphics.Color;

textView1.setTextColor(Color.RED);
textView1.setBackgroundColor(Color.RED);
参考技术A android:textColor设置文本颜色

  android:textColorHighlight被选中文字的底色,默认为蓝色

  android:textColorHint设置提示信息文字的颜色,默认为灰色。与hint一起使用。

  android:textColorLink文字链接的颜色.

  android:textScaleX设置文字之间间隔,默认为1.0f。

  android:textSize设置文字大小,推荐度量单位”sp”,如”15sp”

  android:textStyle设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开

  android:typeface设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]

  android:height设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)

  android:maxHeight设置文本区域的最大高度

  android:minHeight设置文本区域的最小高度

  android:width设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区别看这里。

  android:maxWidth设置文本区域的最大宽度

  android:minWidth设置文本区域的最小宽度

动态添加文本后Textview不调整大小?

【中文标题】动态添加文本后Textview不调整大小?【英文标题】:Textview not resizing after dynamically adding text? 【发布时间】:2016-09-09 08:58:52 【问题描述】:

这是我的 XML。我正在动态添加文本并将其设置为 XML 中的 wrap_content,但之后文本视图似乎没有根据包含的文本调整大小。我正在使用可展开的布局来展开来自https://github.com/AAkira/ExpandableLayout 的点击。 我假设其中一个父高度设置错误,但我检查了几乎所有组合,似乎没有任何帮助。将高度设置为硬编码(500dp)效果很好。谁能帮我吗?谢谢!

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_
    android:layout_
    xmlns:card_view="http://schemas.android.com/tools">

    <ScrollView
        android:layout_
        android:layout_
        android:fillViewport="true">

        <LinearLayout
            android:layout_
            android:layout_
            android:orientation="vertical">

            <android.support.v7.widget.CardView
                android:layout_
                android:layout_
                android:id="@+id/cardviewTwitterMessages"
                android:layout_marginBottom="8dp"
                card_view:cardElevation="4dp"
                card_view:cardUseCompatPadding="true"
                card_view:cardCornerRadius="5dp">

                <RelativeLayout
                    android:layout_
                    android:layout_>

                    <Button
                        android:id="@+id/expandableButton1"
                        android:layout_
                        android:layout_
                        android:background="@color/colorPrimary"
                        android:drawableLeft="@android:drawable/arrow_down_float"
                        android:onClick="expandableButton1"
                        android:paddingRight="10dp"
                        android:text="Recent Tweets"
                        android:textColor="#fff" />

                    <com.github.aakira.expandablelayout.ExpandableRelativeLayout
                        android:id="@+id/expandableLayout1"
                        android:layout_
                        android:layout_
                        android:layout_below="@+id/expandableButton1"
                        android:background="#fff"
                        android:padding="16dp"
                        app:ael_duration="400"
                        app:ael_expanded="false"
                        app:ael_interpolator="bounce"
                        app:ael_orientation="vertical">

                        <TextView
                            android:textColorLink="@color/colorPrimary"
                            android:id="@+id/TwitterMessagesText"
                            android:layout_
                            android:layout_
                            android:minLines="50"/>
                    </com.github.aakira.expandablelayout.ExpandableRelativeLayout>
                </RelativeLayout>
            </android.support.v7.widget.CardView>
        </LinearLayout>

    </ScrollView>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab2"
        android:layout_
        android:layout_
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        android:src="@android:drawable/ic_input_add"
        android:tint="#fdfdfd" />

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

【问题讨论】:

更改为 What is the difference between match_parent and fill_parent?的可能重复 【参考方案1】:

您的 TextView 正在尝试匹配父项。 改为 wrap_content

<TextView
    android:textColorLink="@color/colorPrimary"
    android:id="@+id/TwitterMessagesText"
    android:layout_
    android:layout_
    android:minLines="50"/>

此外,您的 ScrollView 正在尝试 wrap_content,而 TextView 的所有子级都尝试 ma​​tch_parent。这意味着当那些相同的孩子试图找出它们的父宽度时(在 ScrollView 的链中),ScrollView 试图包装它的孩子。

当您在 TextView 上将宽度设置为 500dp 时,所有向上的视图都会继承相同的大小(因为它们的 match_parent 宽度),因此可以正常工作。 在您的 ScrollView 上,ma​​tch_parent 或给它一些宽度,以便它的孩子适应它。

@EDIT

另外,作为简洁代码的问题,将您的 fill_parent 替换为 ma​​tch_parent。 在 API 8 上,fill_parent 已弃用并替换为 match_parentreference here

【讨论】:

按照您的建议尝试过,它仍然拒绝执行任何操作。 coordinatorlayout会不会导致这些问题? 几乎没有。 coordinatorLayout 工作得很好。你如何填充TextVIew?通过适配器还是通过基本的 textView.setText("asd")?

以上是关于安卓开发:如何静态和动态设置textView的文本和背景色彩,如何填?初学不知填什么.要详细的主要内容,如果未能解决你的问题,请参考以下文章

安卓开发 listview中给指定行文本框赋值的问题

如何动态更改多个TextView中的文本? [重复]

安卓之文本视图TextView及跑马灯效果

安卓开发:service如何更新Activity里textView的内容。

安卓界面组件-文本框

如何根据动态内容调整 textview 和 scrollview 内容大小