zoukankan      html  css  js  c++  java
  • 013 Android 实现流水灯功能+自定义控件的样式(可以复用)

    1.介绍

    (1)获取屏幕的焦点

    android:focusable与android:focusableInTouchMode(获取屏幕焦点)

    前者针对在键盘下操作的情况,如果设置为true,则键盘上下左右选中,焦点会随之移动。

    后者针对触屏情况,也就是我们点击屏幕的上的某个控件时,不要立即执行相应的点击逻辑,而是先显示焦点(即控件被选中),再点击才执行逻辑。

    以下是获取屏幕焦点的实例代码:

    android:focusable="true"
    android:focusableInTouchMode="true"

    (2)设置单行显示

    android:singleLine="true"

    (3)ellipsize使用方法

    android:ellipsize = "end"    //省略号在结尾
    android:ellipsize = "start"   //省略号在开头
    android:ellipsize = "middle"     //省略号在中间
    android:ellipsize = "marquee" // 跑马灯

    (4)padding与margin作用

    Padding 为内边框,指该控件内部内容,如文本/图片距离该控件的边距

    Margin 为外边框,指该控件距离边父控件的边距

    (5)设置跑马灯显示次数
    android:marqueeRepeatLimit="marquee_forever"来设置跑马灯显示次数,marquee_forever表示不间断无限次
    android:marqueeRepeatLimit="marquee_forever"

    2.自定义样式

    将常用的xml样式抽取出来放到styles.xml中

    <style name="TitleStyle" >
            <!-- Customize your theme here. -->
            <item name="android:layout_width">wrap_content</item>
            <item name="android:layout_height">wrap_content</item>
            <item name="android:padding">10dp</item>
            <item name="android:gravity">center</item>
            <item name="android:background">#00ff00</item>
            <item name="android:textSize">20dp</item>
            <item name="android:layout_weight">1</item>
        </style>

    activity布局中调用:

    <TextView
                android:id="@+id/tvhome_function"
                style="@style/TitleStyle"
                android:text="功能列表" />

    3.xml文件

    主界面xml布局

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    
            <TextView
                android:id="@+id/textView2"
                style="@style/TitleStyle"
                android:text="功能列表" />
        </LinearLayout>
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="100dp"
            android:layout_weight="1"
            android:ellipsize="marquee"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:marqueeRepeatLimit="marquee_forever"
            android:padding="5dp"
            android:singleLine="true"
            android:text="凌轩,26岁,一米七五的身高,体重六十三公斤,大学本科汉语言文学毕业,学士学位。毕业的时候,老爸替他在老家的县城找了一份老师的工作,可没做到半年,凌轩就忍受不了,自己给自己“下课”了。"
            android:textSize="20dp" />
    </LinearLayout>

    3.效果图

  • 相关阅读:
    SQLite Java Wrapper/JDBC Driver(收集)
    JAVA 并行运行(收集)
    log4net使用方法(转载)
    WMI服务故障,VBS脚本无法运行错误
    ArcEngine中UID使用资料收集
    使用 ArcGIS Engine Runtime 制作安装包(转载)
    Eclipse安装WindowBuilder Pro(转载)
    C#操作SQL Server数据库
    自动化测试 (三) Web自动化测试原理
    HTTP协议 (六) 状态码详解
  • 原文地址:https://www.cnblogs.com/luckyplj/p/10809174.html
Copyright © 2011-2022 走看看