将 Background 属性添加到自定义 TextView 组件,底部只有边框

拉克希特·索拉提亚

我正在尝试向 Android 上的 CustomTextView 添加可绘制背景。我尝试在styles.xml 中使用style 属性,但我无法应用它。到目前为止,这是我的实现。

自定义文本视图.java

public class CustomTextView extends android.support.v7.widget.AppCompatTextView {

public CustomTextView(Context context) {
    super(context);
    Typeface face = Typeface.createFromAsset(context.getAssets(), "font/Montserrat-Regular.ttf");
    context.getDrawable(R.drawable.tv_bottom_line_only);
    this.setTypeface(face);
}

public CustomTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    context.getDrawable(R.drawable.tv_bottom_line_only);
    Typeface face = Typeface.createFromAsset(context.getAssets(), "font/Montserrat-Regular.ttf");
    this.setTypeface(face);
}

public CustomTextView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    Typeface face = Typeface.createFromAsset(context.getAssets(), "font/Montserrat-Regular.ttf");
    context.getDrawable(R.drawable.tv_bottom_line_only);
    this.setTypeface(face);
}

protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
  }
}

我的可绘制文件:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:bottom="1dp"
    android:left="-2dp"
    android:right="-2dp"
    android:top="-2dp">
    <shape android:shape="rectangle">
        <stroke
            android:width="0.5dp"
            android:color="@android:color/black" />
    </shape>
</item>

这是我在布局 xml 中的实现。

...
 <com.project.utils.CustomTextView
                            android:id="@+id/profile_et_title"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:imeOptions="actionNext"
                            android:inputType="text"
                            android:padding="@dimen/_4sdp"
                            android:textColor="@color/black"
                            android:textSize="@dimen/_8sdp" />

这是问题的快照。我想删除出现在顶部的边框。

问题

谢谢

113408

要将可绘制对象设置为背景,您应该使用:

setBackground(context.getDrawable(R.drawable.tv_bottom_line_only));

现在底部只有一条线,您应该rectangle从可绘制对象中删除该形状。

主要活动:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

布局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"
    tools:context=".MainActivity"
    android:gravity="center">

    <org.mayday.myapplication.CustomTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"/>

</LinearLayout>

tv_bottom_line_only xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:top="-8dp" android:left="-8dp" android:right="-8dp">
        <shape>
            <stroke android:width="0.5dp" android:color="@android:color/black" />
        </shape>
    </item>
</layer-list>

结果:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将类添加到具有匹配的自定义数据属性的元素

来自分类Dev

将具有默认属性的自定义对象添加到字典

来自分类Dev

如何将具有自定义类型的属性添加到 Node 的全局接口

来自分类Dev

将项目添加到自定义组件的布局

来自分类Dev

将底线边框添加到TextView-iOS

来自分类Dev

将底线边框添加到TextView-iOS

来自分类Dev

反应-如何将DOMAttribute添加到自定义组件?

来自分类Dev

将标签作为子级添加到自定义组件

来自分类Dev

无法将项目添加到extjs中的自定义组件

来自分类Dev

将标签和字段添加到自定义joomla组件

来自分类Dev

将链接/模板列添加到自定义表组件

来自分类Dev

MVC体系结构-将具有自定义逻辑的字段添加到模型

来自分类Dev

将图标添加到具有自定义样式的按钮

来自分类Dev

有没有一种方法可以将onClick事件添加到自定义组件

来自分类Dev

Angular 11-将具有不同样式的图标添加到自定义按钮组件

来自分类Dev

将订单项添加到现有快速簿时,将值添加到自定义(DataExt)字段

来自分类Dev

如何在没有xmlns / idQ的情况下将组添加到(VBA)自定义功能区?

来自分类Dev

是否可以将单个自定义HTML页面添加到现有的Hugo主题(如Academic)?

来自分类Dev

使用Python facebook marketing API将具有多个键的用户添加到自定义受众

来自分类Dev

如何在没有xmlns / idQ的情况下将组添加到(VBA)自定义功能区?

来自分类Dev

将小部件添加到布局仅在自定义类的构造函数中有效

来自分类Dev

Asana API - 如何将子任务添加到具有自定义字段的项目

来自分类Dev

如何在没有自定义类的情况下将 UILabel 添加到 UICollectionViewCell?

来自分类Dev

将 excel 自定义函数添加到现有的 excel 加载项 - Javascript Api

来自分类Dev

将具有自定义架构的 mysql 用户存储添加到 WSO2 身份服务器

来自分类Dev

避免将方法和属性添加到自定义对象

来自分类Dev

如何将更多属性值添加到自定义对象

来自分类Dev

尝试将缺少的img属性添加到自定义javascript中

来自分类Dev

避免将方法和属性添加到自定义对象

Related 相关文章

  1. 1

    将类添加到具有匹配的自定义数据属性的元素

  2. 2

    将具有默认属性的自定义对象添加到字典

  3. 3

    如何将具有自定义类型的属性添加到 Node 的全局接口

  4. 4

    将项目添加到自定义组件的布局

  5. 5

    将底线边框添加到TextView-iOS

  6. 6

    将底线边框添加到TextView-iOS

  7. 7

    反应-如何将DOMAttribute添加到自定义组件?

  8. 8

    将标签作为子级添加到自定义组件

  9. 9

    无法将项目添加到extjs中的自定义组件

  10. 10

    将标签和字段添加到自定义joomla组件

  11. 11

    将链接/模板列添加到自定义表组件

  12. 12

    MVC体系结构-将具有自定义逻辑的字段添加到模型

  13. 13

    将图标添加到具有自定义样式的按钮

  14. 14

    有没有一种方法可以将onClick事件添加到自定义组件

  15. 15

    Angular 11-将具有不同样式的图标添加到自定义按钮组件

  16. 16

    将订单项添加到现有快速簿时,将值添加到自定义(DataExt)字段

  17. 17

    如何在没有xmlns / idQ的情况下将组添加到(VBA)自定义功能区?

  18. 18

    是否可以将单个自定义HTML页面添加到现有的Hugo主题(如Academic)?

  19. 19

    使用Python facebook marketing API将具有多个键的用户添加到自定义受众

  20. 20

    如何在没有xmlns / idQ的情况下将组添加到(VBA)自定义功能区?

  21. 21

    将小部件添加到布局仅在自定义类的构造函数中有效

  22. 22

    Asana API - 如何将子任务添加到具有自定义字段的项目

  23. 23

    如何在没有自定义类的情况下将 UILabel 添加到 UICollectionViewCell?

  24. 24

    将 excel 自定义函数添加到现有的 excel 加载项 - Javascript Api

  25. 25

    将具有自定义架构的 mysql 用户存储添加到 WSO2 身份服务器

  26. 26

    避免将方法和属性添加到自定义对象

  27. 27

    如何将更多属性值添加到自定义对象

  28. 28

    尝试将缺少的img属性添加到自定义javascript中

  29. 29

    避免将方法和属性添加到自定义对象

热门标签

归档