精华内容
下载资源
问答
  • Android中的文本框组件可以显示单行文本,多行文本,也可以显示带图像的文本 使用的2中方法 1 java代码中通过new关键字创建 2 XML布局中使用  方法:    列表属性>   常用属性  text 文本内容   textSize ...

    TextView的作用:用于在屏幕上显示文本

    Android中的文本框组件可以显示单行文本,多行文本,也可以显示带图像的文本

    使用的2中方法

    1 java代码中通过new关键字创建

    2 XML布局中使用

     方法:

     <TextView

      列表属性>

      </TextView>

    常用属性

      text 文本内容 

      textSize  字体大小尺寸

      textColor 字体颜色

      textStyle 字体格式

      hint 默认提示的文本

    详细的属性


    android:singleLine="true"  true设置输入的字体为单行

    android:lines="3" 设置输入的行数

    android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)

    android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。

    android:bufferType指定getText()方式取得的文本类别。选项editable类似于StringBuilder可追加字符,也就是说getText后可调用append方法设置文本内容。spannable则可在给定的字符区域使用样式,参见这里1、这里2

    android:capitalize设置英文字母大写类型。此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明。

    android:cursorVisible设定光标为显示/隐藏,默认显示。

    android:digits设置允许输入哪些字符。如”1234567890.+-*/% ()

    android:drawableBottomtext的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。

    android:drawableLefttext的左边输出一个drawable,如图片。

    android:drawablePadding设置textdrawable(图片)的间隔,与drawableLeft drawableRightdrawableTopdrawableBottom一起使用,可设置为负数,单独使用没有效果。

    android:drawableRighttext的右边输出一个drawable

    android:drawableToptext的正上方输出一个drawable

    android:editable设置是否可编辑。

    android:editorExtras设置文本的额外的输入数据。

    android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:”start”—-省略号显示在开头;end”——省略号显示在结尾;middle”—-省略号显示在中间;marquee”——以跑马灯的方式显示(动画横向移动)

    android:freezesText设置保存文本的内容以及光标的位置。

    android:gravity设置文本位置,如设置成”center”,文本将居中显示。

    android:hintText为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。此属性在 EditView中使用,但是这里也可以用。

    android:imeOptions附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个”完成”,而不设置默认是一个回车符号。这个在EditView中再详细说明,此处无用。

    android:imeActionId设置IME动作ID

    android:imeActionLabel设置IME动作标签。

    android:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true

    android:inputMethod为文本指定输入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是这里报错找不到。

    android:inputType设置文本的类型,用于帮助输入法显示合适的键盘类型。在EditView中再详细说明,这里无效果。

    android:linksClickable设置链接是否点击连接,即使设置了autoLink

    android:marqueeRepeatLimitellipsize指定marquee的情况下,设置重复滚动的次数,当设置为 marquee_forever时表示无限次。

    android:ems设置TextView的宽度为N个字符的宽度。这里测试为一个汉字字符宽度

    android:maxEms设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。

    android:minEms设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。

    android:maxLength限制显示的文本长度,超出部分不显示。

    android:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据。

    android:maxLines设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。

    android:minLines设置文本的最小行数,与lines类似。

    android:lineSpacingExtra设置行间距。

    android:lineSpacingMultiplier设置行间距的倍数。如”1.2

    android:numeric如果被设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。

    android:password以小点”.”显示文本

    android:phoneNumber设置为电话号码的输入方式。

    android:privateImeOptions设置输入法选项,此处无用,在EditText将进一步讨论。

    android:scrollHorizontally设置文本超出TextView的宽度的情况下,是否出现横拉条。

    android:selectAllOnFocus如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。 TextView中设置后无效果。

    android:shadowColor指定文本阴影的颜色,需要与shadowRadius一起使用。

    android:shadowDx设置阴影横向坐标开始位置。

    android:shadowDy设置阴影纵向坐标开始位置。

    android:shadowRadius设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。

    android:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用”…”来表示。如android:text=test_ singleLine

    android:singleLine=true android:layout_width=20dp”将只显示”t…”。如果不设置singleLine或者设置为false,文本将自动换行

    android:text设置显示文本.

    android:textAppearance设置文字外观。如“?android:attr/textAppearanceLargeInverse”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。可textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse

    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设置文本区域的最小宽度



    展开全文
  • Android的编辑框组件组件可以输入单行文本,多行文本,指定格式文本(密码,邮箱地址等) 2中使用方法 1 java代码中通过new关键字创建 2 XML布局中添加编辑, 格式: 属性列表  > android:hint 设置EditText为空时...

    EditView的作用:用于在屏幕上显示文本输入框

    Android的编辑框组件组件可以输入单行文本,多行文本,指定格式文本(密码,邮箱地址等)

    2中使用方法

    1 java代码中通过new关键字创建

    2 XML布局中添加编辑,

    格式:<EditText

    属性列表

      ></EditView>

    编辑用的时候有个下划线

    去掉下划线

    android:background="@null"

    输入的类型

     android:inputType="number"  这个是数字格式,

    其他的ecplise提示的有可以用快捷键查看

    例如: android:inputType="textPassword"

    好多属性和TextView一样都能用,

    下面把笔记的拿出来,来自那就忘记了,大家看看参考下


    属性名称

    描述

    android:autoLink

    设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。

    可选值(none/web/email/phone/map/all)

    这里只有在同时设置text时才自动识别链接,后来输入的无法自动识别。

    android:autoText

    自动拼写帮助。这里单独设置是没有效果的,可能需要其他输入法辅助才行,

    效果参见视频 。

    android:bufferType

    指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符,

    也就是说getText后可调用append方法设置文本内容。

    spannable 则可在给定的字符区域使用样式,参见这里、这里

    android:capitalize

    设置英文字母大写类型。设置如下值:sentences仅第一个字母大写;

    words每一个单词首字母大小,用空格区分单词

    characters每一个英文字母都大写。

    在模拟器上用PC键盘直接输入可以出效果,但是用软键盘无效果。

    android:cursorVisible

    设定光标为显示/隐藏,默认显示。

    如果设置false,即使选中了也不显示光标栏。

    android:digits

    设置允许输入哪些字符。如“1234567890.+-*/%\n()”

    android:drawableTop

    text的正上方输出一个drawable

    EditView中的效果比较搞笑:居然在文本框里,而且删不了。
     

    android:drawableBottom

    text的下方输出一个drawable,如图片。

    如果指定一个颜色的话会把text的背景设为该颜色,

    并且同时和background使用时覆盖后者。

    android:drawableLeft

    text的左边输出一个drawable(如图片)。

    android:drawablePadding

    设置textdrawable(图片)的间隔,与drawableLeftdrawableRight

    drawableTopdrawableBottom一起使用,可设置为负数,

    单独使用没有效果。

    android:drawableRight

    text的右边输出一个drawable,如图片。

    android:editable

    设置是否可编辑。仍然可以获取光标,但是无法输入。

    android:editorExtras

    指定特定输入法的扩展,如“com.mydomain.im.SOME_FIELD”

    源码跟踪至EditorInfo.extras,暂无相关实现代码。

    android:ellipsize

    设置当文字过长时,该控件 该如何显示。

    有如下值设置:”start”—–省略号显示在开头;

    ”end”——省略号显示在结尾;”middle”—-省略号显示在中间;

    ”marquee” ——以跑马灯 的方式显示(动画 横向移动)

    android:freezesText

    设置保存文本的内容以及光标的位置。

    android:gravity

    设置文本位置,如设置成“center”,文本将居中显示。

    android:hint

    Text为空时显示的文字提示信息,

    可通过textColorHint设置提示信息的颜色。

    android:imeOptions

    设置软键盘的Enter键。

    有如下值可设置:normalactionUnspecifiedactionNoneactionGo

    actionSearchactionSendactionNextactionDone
    flagNoExtractUiflagNoAccessoryActionflagNoEnterAction

    可用’|’设置多个。

    <EditText android:id="@+id/txtTest" android:imeOptions="actionGo"

        android:layout_width="100dp" android:layout_height="wrap_content">

    </EditText>

    ((EditText)findViewById(R.id.txtTest)).setOnEditorActionListener(

    new TextView.OnEditorActionListener() {

                @Override

                public boolean onEditorAction(TextView v,

     int actionId, KeyEvent event) {

                    if (actionId == EditorInfo.IME_ACTION_GO) {

                        Toast.makeText(TestActivity.this, "你点了Go!", 

    Toast.LENGTH_SHORT).show();

                    }

                    return false;

                }

            }); 

    android:imeActionId

    设置IME动作ID,在onEditorAction中捕获判断进行逻辑操作。

    android:imeActionLabel

    设置IME动作标签。但是不能保证一定会使用,

    猜想在输入法扩展的时候应该有用。

    android:includeFontPadding

    设置文本是否包含顶部和底部额外空白,默认为true

    android:inputMethod

    为文本指定输入法,需要完全限定名(完整的包名)。

    例如:com.google.android.inputmethod.pinyin,但是这里报错找不到。

    android:inputType

    设置文本的类型,用于帮助输入法显示合适的键盘类型。

    有如下值设置:nonetext、 textCapCharacters字母大小、

    textCapWords单词首字母大小、textCapSentences仅第一个字母大小、

     textAutoCorrecttextAutoComplete自动完成、textMultiLine多行输入、

    textImeMultiLine输 入法多行(如果支持)、textNoSuggestions不提示、

    textEmailAddress电子邮件地址、textEmailSubject邮 件主题、

    textShortMessage短信息(会多一个表情按钮出来,点开如下图:

    )、textLongMessage长讯息?、textPersonName人名、 

    textPostalAddress地址、textPassword密码、textVisiblePassword可见密码、

     textWebEditText作为网页表单的文本、textFilte文本筛选过滤、

    textPhonetic拼音输入、numberSigned有符 号数字格式、

    numberDecimal可带小数点的浮点格式、phone电话号码、

    datetime时间日期、date日期、time时间。部分参考这里 。

    android:marqueeRepeatLimit

    ellipsize指定marquee的情况下,设置重复滚动的次数,

    当设置为marquee_forever时表示无限次。

    android:ems

    设置TextView的宽度为N个字符的宽度。

    参见TextView中此属性的截图。

    android:maxEms

    设置TextView的宽度为最长为N个字符的宽度。

    ems同时使用时覆盖ems选项。

    android:minEms

    设置TextView的宽度为最短为N个字符的宽度。

    ems同时使用时覆盖ems选项。

    android:maxLength

    限制输入字符数。

    如设置为5,那么仅可以输入5个汉字/数字/英文字母。

    android:lines

    设置文本的行数,设置两行就显示两行,即使第二行没有数据。

    android:maxLines

    设置文本的最大显示行数,与width或者layout_width结合使用,

    超出部分自动换行,超出行数将不显示。

    android:minLines

    设置文本的最小行数,与lines类似。

    android:linksClickable

    设置链接是否点击连接,即使设置了autoLink

    android:lineSpacingExtra

    设置行间距。

    android:lineSpacingMultiplier

    设置行间距的倍数。如”1.2”

    android:numeric

    如果被设置,该TextView有一个数字输入法。

    有如下值设置:integer正整数、signed带符号整数、

    decimal带小数点浮点数。

    android:password

    以小点”.”显示文本

    android:phoneNumber

    设置为电话号码的输入方式。

    android:privateImeOptions

      提供额外的输入法选项(字符串格式)

    依据输入法而决定是否提供,如这里 所见。自定义输入法继承
      InputMethodService。 

    android:scrollHorizontally

    设置文本超出TextView的宽度的情况下,是否出现横拉条。

    android:selectAllOnFocus

    如果文本是可选择的,让他获取焦点而不是将光标移动为

    文本的开始位置或者末尾位置。

    TextView中设置后无效果。

    android:shadowColor

    指定文本阴影的颜色,需要与shadowRadius一起使用。

    参见TextView中此属性的截图。

    android:shadowDx

    设置阴影横向坐标开始位置。

    android:shadowDy

    设置阴影纵向坐标开始位置。

    android:shadowRadius

    设置阴影的半径。设置为0.1就变成字体的颜色了,

    一般设置为3.0的效果比较好。

    android:singleLine

    设置单行显示。如果和layout_width一起使用,

    当文本不能全部显示时,后面用“…”来表示。

    如 android:text="test_ singleLine  " 

    android:singleLine="true" android:layout_width="20dp"将只显示“t…”

    如果不设置singleLine或者设置为false,文本将自动换行

    android:text

    设置显示文本.

    android:textAppearance

    设置文字外观。如“?android:attr/textAppearanceLargeInverse

    这里引用的是系统自带的一个外观,?表示系统是否有这种外观,

    否则使用默认的外观。可设置的值如 下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge 

    /textAppearanceLargeInverse/textAppearanceMedium/

    textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse

    android:textColor

    设置文本颜色

    android:textColorHighlight

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

    android:textColorHint

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

    android:textColorLink

    文字链接的颜色.

    android:textScaleX

    设置文字之间间隔,默认为1.0f。参见TextView的截图。

    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

    设置文本区域的最小宽度



    展开全文
  • 文本多行时, 且最后一行文本宽度小于可显示宽度的2/3时 时间戳显示与最后一行后部 但时间戳的最后一行大于可显示宽度的2/3时 换行显示 探索 如何实现这样的功能 1.判断最后一行的宽度 2.准备不同位置的时间戳...

    需求

    1.常见于聊天列表
    2.样式如图:
    在这里插入图片描述
    当文本为单行且文本宽度小于最大可显示宽度的2/3时
    时间戳显示与文本后部
    当文本为多行时, 且最后一行文本宽度小于可显示宽度的2/3时
    时间戳显示与最后一行后部
    但时间戳的最后一行大于可显示宽度的2/3时
    换行显示

    探索

    如何实现这样的功能
    1.判断最后一行的宽度
    2.准备不同位置的时间戳显示 , 默认隐藏
    3.tv_content.getLayout().getLineWidth(tv_content.getLineCount() - 1);获取最后一行文本宽度
    4.在adapter中对tv_content.post(run);
    5.问题 : getLayout()方法在recycleView的复用机制里因为被回收会报空指针异常
    6.取消复用(嵌套NestedScrollView并设置recycleView的android:nestedScrollingEnabled="false")
    7.捡了芝麻丢了西瓜

    改进

    封装一个文本内容 , 在文本绘制完成后会调用onMeasure方法 , 在方法中添加回调 , 以此来通知列表文本显示完成

      @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
            if (measureCallBack != null) {
                measureCallBack.measure();
            }
        }
    

    全部代码

    1.添加ChatContentView.class

    public class ChatContentView extends android.support.v7.widget.AppCompatTextView {
    
    
        public ChatContentView(Context context) {
            this(context, null);
        }
    
        public ChatContentView(Context context, @Nullable AttributeSet attrs) {
            this(context, attrs, 0);
        }
    
        public ChatContentView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
            initView(context, attrs, defStyleAttr);
        }
    
        private void initView(Context context, AttributeSet attrs, int defStyleAttr) {
            setMaxWidth(DensityUtil.dip2px(context, 214)); // 文本最宽显示宽度
            setTextSize(13);
            setTextColor(Color.parseColor("#ff0d0c0c"));
        }
    
    
        @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
            if (measureCallBack != null) {
                measureCallBack.measure();
            }
        }
    
        MeasureCallBack measureCallBack;
    
        public void setMeasureCallBack(MeasureCallBack measureCallBack) {
            this.measureCallBack = measureCallBack;
        }
    
        interface MeasureCallBack {
            void measure();
        }
    
    }
    

    2.布局中使用

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
    
            <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
                <com.mvp.org.im.ChatContentView
                    android:id="@+id/tv_content"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"></com.mvp.org.im.ChatContentView>
                <TextView
                    android:id="@+id/tv_time1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="8dp"
                    android:layout_marginTop="5dp"
                    android:layout_toRightOf="@+id/tv_content"
                    android:drawableLeft="@drawable/icon_message_lock"
                    android:drawablePadding="4dp"
                    android:gravity="center"
                    android:text="下午06:03"
                    android:textColor="#ffcfcfcf"
                    android:textSize="10sp"
                    android:visibility="gone" />
                <TextView
                    android:id="@+id/tv_time2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/tv_content"
                    android:layout_alignRight="@+id/tv_content"
                    android:layout_marginLeft="8dp"
                    android:layout_marginTop="5dp"
                    android:drawableLeft="@drawable/icon_message_lock"
                    android:visibility="gone"
                    android:drawablePadding="4dp"
                    android:gravity="center"
                    android:text="下午06:03"
                    android:textColor="#ffcfcfcf"
                    android:textSize="10sp" />
                <TextView
                    android:id="@+id/tv_time3"
                    android:visibility="gone"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/tv_content"
                    android:layout_alignRight="@+id/tv_content"
                    android:layout_marginLeft="8dp"
                    android:layout_marginTop="5dp"
                    android:drawableLeft="@drawable/icon_message_lock"
                    android:drawablePadding="4dp"
                    android:gravity="center"
                    android:text="下午06:03"
                    android:textColor="#ffcfcfcf"
                    android:textSize="10sp" />
            </RelativeLayout>
    </LinearLayout>
    
    

    3.RecycleView的adapter中使用

    					TextView tv_time1 = h.getView(R.id.tv_time1);
                        TextView tv_time2 = h.getView(R.id.tv_time2);
                        TextView tv_time3 = h.getView(R.id.tv_time3);
                        ChatContentView tv_content = h.getView(R.id.tv_content);
                        tv_content.setText(entity);
                        tv_content.setMeasureCallBack(() -> {
                            float width = tv_content.getLayout().getLineWidth(tv_content.getLineCount() - 1);
                            if (tv_content.getLineCount() <= 1 && width < DensityUtil.dip2px(context, 214) * 2 / 3) {
                                tv_time1.setVisibility(View.VISIBLE);
                                tv_time2.setVisibility(View.GONE);
                                tv_time3.setVisibility(View.GONE);
                            } else if (width < DensityUtil.dip2px(context, 214) * 2 / 3) {
                                tv_time2.setVisibility(View.VISIBLE);
                                tv_time1.setVisibility(View.GONE);
                                tv_time3.setVisibility(View.GONE);
                            } else {
                                tv_time3.setVisibility(View.VISIBLE);
                                tv_time2.setVisibility(View.GONE);
                                tv_time1.setVisibility(View.GONE);
                            }
                        });
    

    注意

    本文只是大致显示了时间戳位置的判断
    如需精确,可在setMeasureCallBack回调中获取时间戳的宽度
    如果时间戳的宽度+文本最后一行的宽度>文本的maxWidth

    展开全文
  • 列表控件显示多行文本,用户可以选中一行或者多行。所有的文本只能使用一种字体,不能混合使用多种字体。 14.1 属性 常用的参数列表如下: 属性 描述 activestyle 被选中的文本的样式:underline: 下划线...

    第14章 列表框(Listbox)
    列表框控件显示多行文本,用户可以选中一行或者多行。所有的文本只能使用一种字体,不能混合使用多种字体。
    14.1 属性
    常用的参数列表如下:

    属性 描述
    activestyle 被选中的文本的样式:
    underline: 下划线
    dotbox:点划线框
    none: 没有任何的样式
    background
    bg
    背景颜色。默认是系统指定颜色
    borderwidth
    bd
    边框宽度。一般是1~2个像素值。
    cursor 当鼠标移动经过列表框的时候,显示的光标样式
    disabledforeground 列表框被禁止使用的时候的背景颜色
    exportselection 默认是1。
    font 列表框中文字的字体。只能选择一种字体显示。
    foreground
    fg 列表框中文字的颜色
    height 设置列表框的高度。默认值是10。
    highlightbackground 当列表框失去焦点的时候,边框的高亮颜色
    highlightcolor 当列表框获得焦点的时候,边框的高亮颜色
    highlightthickness 设置高亮边框的宽度
    listvariable 设置listvariable属性
    relief 边框的美化效果。默认值是SUNKEN,其他的可选项包括:FLAT, RAISED, GROOVE, and RIDGE
    selectbackground 选中的条目背景颜色
    selectborderwidth 选中的条目,会用一个虚线的矩形框住。此参数定义矩形边框的宽度。默认值是1。
    selectforeground 选中条目的文本颜色
    selectmode 选择模式:
    MULTIPLE为多选
    BROWSE:通过鼠标的移动选择
    SINGLE:只能选一行。鼠标不能拖动选择。
    EXTENDED:shift和ctrl配合使用
    takefocus 标识用户是否能够使用Tab键移动焦点到标签上。默认是空字符串,也就是只有使用热键才能选中该按钮。
    state 标签的状态,包括:NORMAL或者 DISABLED
    width 设置列表框的宽度。默认值为20
    xscrollcommand 与滚动条组件相关联(水平方向).使用方法可以参考:Scrollbar 组件
    yscrollcommand 与滚动条组件相关联(垂直方向).使用方法可以参考:Scrollbar 组件

    14.1.1 activestyle
    设置列表框被选中的文本行的显示效果。有三种:
    underline: 下划线
    dotbox:点划线虚框
    none: 没有显示效果

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    b1=tk.Listbox(root,activestyle='dotbox')
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    root.mainloop()
    

    结果:
    在这里插入图片描述
    14.1.2 background(bg)
    设置列表框背景颜色。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    b1=tk.Listbox(root,bg='green')
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    root.mainloop()
    

    结果:
    在这里插入图片描述
    14.1.3 borderwidth(bd)
    设置列表框的边框宽度。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    b1=tk.Listbox(root,bd=10)
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    root.mainloop()
    

    结果:
    在这里插入图片描述
    14.1.4 cursor
    鼠标位于列表框区域时,鼠标的形状。详细的cursor说明见3.3.6节。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    b1=tk.Listbox(root,cursor='spider')
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    root.mainloop()
    

    14.1.5 disabledforeground
    列表框的状态为tk.DISABLED时,列表框的文本颜色。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    b1=tk.Listbox(root,disabledforeground='red')
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    b1.config(state=tk.DISABLED)
    root.mainloop()
    

    结果:
    在这里插入图片描述
    14.1.6 exportselection
    决定是否可以复制选中的文本内容。如果exportselection=True,表示可以。exportselection=False,表示不可复制列表框中选中的选项。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    
    b1=tk.Listbox(root,exportselection=0)
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    root.mainloop()
    

    14.1.7 font
    设置列表框字体。所有的文本只能有一种字体,不能混合多种字体。具体的文本说明见3.3.3节。
    14.1.8 foreground(fg)
    设置列表框中的文本颜色。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    b1=tk.Listbox(root,fg='blue')
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    root.mainloop()
    

    结果:
    在这里插入图片描述
    14.1.9 height
    设置列表框的高度。单位是行。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    b1=tk.Listbox(root,height=5)
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    root.mainloop()
    

    结果:
    在这里插入图片描述
    设置列表框的高度。默认是10行。
    14.1.10 highlightbackground、highlightcolor和highlightthickness
    设置列表框获得或者失去输入焦点时候的边框颜色。这两种边框的宽度由highlightthickness设置。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    
    b1=tk.Listbox(root,highlightbackground='blue',
                  highlightcolor='red',highlightthickness=10)
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    
    root.mainloop()
    

    结果:
    在这里插入图片描述
    在这里插入图片描述
    14.1.11 listvariable
    listvariable 可以与一个tk.StringVar()变量相关联。可以通过变量的get()方法,获得列表框中的所有的文本内容。也可以通过set(s)的方法来设置列表框中的内容。

    #获得列表框的内容
    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    content=tk.StringVar()
    b1=tk.Listbox(root,listvariable=content)
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    print(content.get())
    root.mainloop()
    
    #设置列表框中的内容
    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    content=tk.StringVar()
    b1=tk.Listbox(root,listvariable=content)
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    def lst():
        content.set('abc def "c c"     c bbb')
    b2=tk.Button(root,text='Set',command=lst)
    b2.pack()
    root.mainloop()
    

    结果:
    在这里插入图片描述
    说明:
    (1)使用set(s)会取代以前的列表框中的内容
    (2)s是用空格分隔的字符串。多个空格会被认为是1个。如果选项中需要有空格,请用引号把这个字符串括起来。比如”c c”。
    14.1.12 relief
    设置列表框边框的3D效果。见3.3.5节的说明
    14.1.13 selectbackground
    选中条目的背景颜色。默认值是蓝色。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    b1=tk.Listbox(root,selectbackground='red')
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    root.mainloop()
    

    结果:
    在这里插入图片描述
    14.1.14 selectborderwidth
    表示选中的矩形的边框宽度。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    b1=tk.Listbox(root,selectborderwidth=5)
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    root.mainloop()
    

    结果:
    在这里插入图片描述
    说明:可以看到间距明显比不设置selectborderwidth加大了。
    14.1.15 selectforeground
    选中后的文本颜色。目前是反白的显示,也可以通过selectforeground来设定。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    b1=tk.Listbox(root,selectforeground='red')
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    root.mainloop()
    

    结果:
    在这里插入图片描述
    14.1.16 selectmode
    设定列表框中条目的选择模式:
    (1)tk.BROWSE: 可以通过鼠标拖动的方式选择条目。一次只能选中一行
    (2)tk.SINGLE: 一次只能选中一个条目。不支持鼠标拖动模式选择。
    (3)tk.MULTIPLE: 可以选择多个条目。如果该条目已经选中,再次点击变为未选中
    (4)tk.EXTENDED :支持使用如下模式选择:
    拖动选择。鼠标拖动,在鼠标经过的条目都被选中
    Shift:先鼠标点击选中一个条目,然后按照shift键,鼠标点击另外的条目,则这2个条目之间的所有条目都被选中
    Ctrl: 按住ctrl键,同时点击一个条目,则该条目被选中。一次只能增加一个被选中的条目。如果该条目已经被选中,则状体变为未选中。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    
    b1=tk.Listbox(root,selectmode=tk.SINGLE)
    for i in range(1,11):
        b1.insert(tk.END,i)
    b1.pack()
    root.mainloop()
    

    14.1.17 takefocus
    设置是否可以通过Tab移动输入焦点到列表框上。
    14.1.18 state
    设置列表框的状态。有二种:DISABLED或者NORMAL。
    14.1.19 width
    设置列表框的宽度。默认是20个字符。
    14.1.20 xscrollcommand
    设置水平滚动条。详细的用法见yscrollcommand。
    14.1.21 yscrollcommand
    设置垂直滚动条。

    import tkinter as tk
    root=tk.Tk()
    root.geometry('300x240')
    
    content=tk.StringVar()
    content.set('1 2 3 jjjjjjjjjjjjjjjjjjjjjjjjjjj\
    jjjjjjjjjjjjjj 4 5 6 7 8 9 10')
    f=tk.Frame(root)
    s1 = tk.Scrollbar(f,orient=tk.HORIZONTAL)  
    s2 = tk.Scrollbar(f,orient=tk.VERTICAL)  
    b1 = tk.Listbox(f,width=10,height=5,listvariable=content,
                    xscrollcommand=s1.set,yscrollcommand=s2.set)
    s1.pack(side=tk.BOTTOM,fill=tk.X) 
    s1.config(command=b1.xview)
    s2.pack(side=tk.RIGHT,fill=tk.Y) 
    s2.config(command=b1.yview)
    b1.pack()
    f.pack()
    root.mainloop()
    

    结果:
    在这里插入图片描述

    展开全文
  • 文章目录前言一、tkinter控件 前言 在Tkinter中控件的使用都是基于如下的形式的:控件类型(根对象, [属性列表]),在控件定义好之后就需要将其添加到主界面上去。通常使用的布局方法便是pack()函数,没有...多行文本
  • 第6章输入控件(Entry) 输入控件(Entry. 是用来输入或者显示单行字符串的控件。该控件允许用户输入或显示一行文字。...如果你想要输入多行文本, 就需要使用Text 控件。 6.1 属性 6.1.1 属性列表 属性参数 ...
  • 一.常用控件 Lable标签→仅显示文本; TextBox文本控件→文本框; Button按钮控件→按钮(开关);... ListBox列表控件列表框,类似于多行文本框; ComboBox组合控件→下拉选择框; MessageBox.Sh...
  • 所谓控件就是人们常说的能输入文本的位置、能选择的位置、能单击的位置、图片显示的位置等。其中:能输入文本的位置对应于 Windows 窗体应用程序中的文本框、多行文本框等。能选择的位置对应于 Windows 窗体应用程序...
  •  vkListBox列表控件;  checkboxes支持图标的多选按钮;  vkLabel标签控件;  vkCommand按钮控件(类似XP图标风格);  vkToggleButton计数按钮和切换按钮控件;  vkTextBox文本框控件  vkVScroll ...
  • 要运用文本框、单选框、复选框、下拉列表多行文本框、按钮、文件上传等控件实现注册页面,点击提交按钮后讲用户填写的信息以文本的形式显示出来。 2、用HTML控件实现简单的用户登录页面 运用文本框、label、按钮...
  • 广告关闭腾讯云11.11云上......entry 输入控件:用于显示简单的文本内容label 标签控件listbox 列表控件,显示字符串返回给用户text 文本控件显示多行文本软件目标开发一款音乐下载器通过爬虫获取音乐解析网上...
  • 在Windows窗体应用程序中每个窗体都是由若干个控件构成的,所谓的控件就是人们常说的能输入文本的位置、能选择的位置、能单击的位置、图片显示的位置等。其中: 能输入文本的位置对应于Windows窗体应用程序中的...
  • C++Builder控件常用属性 2011.7.13 文本输入组件 单行文本Edit, MaskEdit >窗口控件 多行文本Memo, RichEdit 另外可文本显示Label Edit控件属性列表 1, (String) Text 用于获取编辑框中的文本字符串 2, (Integer) ...
  • 显示一个可编辑的文本框,其中包含一个允许值下拉列表。 ②日历框(DateTimePick) 允许用户选择日期和时间,并以指定的格式显示该日期和时间。 ③文本框(TextBox) 允许用户输入文本,并提供多行编辑和密码...
  • 显示一个可编辑的文本框,其中包含一个允许值下拉列表。 ②日历框(DateTimePick) 允许用户选择日期和时间,并以指定的格式显示该日期和时间。 ③文本框(TextBox) 允许用户输入文本,并提供多行编辑...
  • 显示一个可编辑的文本框,其中包含一个允许值下拉列表。 2.文本框(TextBox) 允许用户输入文本,并提供多行编辑和密码字符掩码功能。 3.单选按钮(RadioButton) 当与其他单选按钮成对出现时,允许用户从一组...
  • 显示一个可编辑的文本框,其中包含一个允许值下拉列表。 ②日历框(DateTimePick) 允许用户选择日期和时间,并以指定的格式显示该日期和时间。 ③文本框(TextBox) 允许用户输入文本,并提供多行编辑和密码...
  • 标签及相关控件,包含:单行文本框,多行文本区,单选按钮,复选框,下拉列表等。第二步:创建DealRegXXX.java,重写doPost()方法,在其中读取用户输入的所有信息,在读取信息之前,先进行编码转换:request.set...
  • 例如,表格视图可以用来显示简短的选项列表,详细信息的分组列表或者长的项目索引列表文本视图和web视图相对来说可以不受约束地接受和显示内容。 表格视图 表格视图通过多行单列的表格呈现数据。行可以被分为...
  • form表单

    2016-05-31 22:13:00
    form表单里面的fieldset标记,用于给表单添加外边框,legend标记为表单...表单的控件主要包括input控件、下拉列表select控件多行文本框textarea控件。 <form method="get/post" action="处理表单的网页" enct...
  • thinker的一些笔记

    2020-12-13 21:55:56
    thinker的一些笔记 控件 名称 作用 ...绘制图形或绘制特殊控件 ...用于控件分组 ...多行文本标签,与Label 用法类似 Radiobutton 单选按钮 从互斥的多个选项中做单项选择 Scale 滑块 默认垂直方向,鼠
  • (1)EditText控件详解 ...编辑框可以输入单行文本,也可以输入多行文本,还可以指定是的文本(如密码、电话号码、日期等)。编辑框的基本语法格式如下。 属性列表 /> XML属 性
  • VC++ CListCtrl自绘前序

    2020-01-12 12:59:05
    CListCtrl在日常项目应用中非常普遍...3、单元格内容具有文本编辑、下拉列表选择、日期选择、进度条、按钮、文本超链接、多行文本显示、图像缩略图显示等等功能,总之单元格可能具备我们常见所有控件的一切功能,要...
  • 2) 文本多行显示.........................................................................................................30 3) 显示备注字段.................................................................
  • 下图看到的是常用控件,比如标签、文本框、多行文本、分组框、分页框 下图看到的是扩展功能的文本框,主要用于搜索条件,可以指定单值,范围,或不连续的搜索范围 下图呈现的是单选框、多选框、按钮和列表...
  • QTextEdit是一个用于编辑和显示纯文本和富文本(如HTML文档)的部件,它支持多行文本, 可现实和编辑多行文本内容, QTextEdit可以显示图像,列表和表格。当文本内容超出显示范围的时候,会自动显示水平和(或)垂直滚动...
  • Android Widget工具箱

    2019-10-02 04:28:38
    Android提供了标准View的工具箱帮助你创建简单的界面。通过使用这些控件(修改或扩展,如果必要的话...它支持多行显示、字符串格式化和文本自动换行。 ❑ EditText 可编辑的文本输入框。它支持多行输入和文字换...
  • 1.标签和标签 select元素可以创建单选或多选菜单。option元素定义下拉列表中的一个选项(一个条目)。 浏览器将标签中的内部作为标签的菜单或是滚动列表中...textarea元素定义多行文本输入控件。可以通过rows和cols

空空如也

空空如也

1 2 3 4 5 6
收藏数 106
精华内容 42
关键字:

列表控件显示多行文本