Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android自定义视图,内有2个文本_Android_Textview_Android Custom View - Fatal编程技术网

Android自定义视图,内有2个文本

Android自定义视图,内有2个文本,android,textview,android-custom-view,Android,Textview,Android Custom View,我需要创建一个如下所示的组件: 我真的不知道该怎么做。我曾考虑创建一个自定义TextView组件(扩展TextView的类),但我不确定从那里该做什么 感谢您的回复,这是我的解决方案: <LinearLayout android:layout_width="@dimen/size_profile_pic" android:layout_height="@dimen/size_profile_pic" android:

我需要创建一个如下所示的组件:

我真的不知道该怎么做。我曾考虑创建一个自定义TextView组件(扩展TextView的类),但我不确定从那里该做什么

感谢您的回复,这是我的解决方案

<LinearLayout
            android:layout_width="@dimen/size_profile_pic"
            android:layout_height="@dimen/size_profile_pic"
            android:id="@+id/playedCounter"
            android:orientation="vertical"
            android:background="@drawable/layout_border"
            android:layout_gravity="center_vertical"
            android:weightSum="4">

            <TextView
                android:id="@+id/times_played_txt"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="2.5"
                android:text="18"
                android:textStyle="bold"
                android:gravity="center"
                android:textSize="30sp" />

            <View
                android:layout_width="match_parent"
                android:layout_height="2dp"
                android:background="@android:color/black" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1.5"
                android:text="Played"
                android:gravity="center" />

        </LinearLayout>

试试这个

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/my_text_box"
    android:background="@drawable/border"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    >

    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:layout_margin="10dp"
        />

    <View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="@android:color/black"
        />

    <TextView
        android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:text="Played"
        android:layout_margin="10dp"
        />

</LinearLayout>

在drawable中创建border.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke android:width="2dp" android:color="#000000" />
<padding android:left="1dp" android:top="1dp" android:right="1dp"
    android:bottom="1dp" />
</shape>

试试这个

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/my_text_box"
    android:background="@drawable/border"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    >

    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:layout_margin="10dp"
        />

    <View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="@android:color/black"
        />

    <TextView
        android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:text="Played"
        android:layout_margin="10dp"
        />

</LinearLayout>

在drawable中创建border.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke android:width="2dp" android:color="#000000" />
<padding android:left="1dp" android:top="1dp" android:right="1dp"
    android:bottom="1dp" />
</shape>

试试这个

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/my_text_box"
    android:background="@drawable/border"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    >

    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:layout_margin="10dp"
        />

    <View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="@android:color/black"
        />

    <TextView
        android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:text="Played"
        android:layout_margin="10dp"
        />

</LinearLayout>

在drawable中创建border.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke android:width="2dp" android:color="#000000" />
<padding android:left="1dp" android:top="1dp" android:right="1dp"
    android:bottom="1dp" />
</shape>

试试这个

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/my_text_box"
    android:background="@drawable/border"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    >

    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:layout_margin="10dp"
        />

    <View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="@android:color/black"
        />

    <TextView
        android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:text="Played"
        android:layout_margin="10dp"
        />

</LinearLayout>

在drawable中创建border.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke android:width="2dp" android:color="#000000" />
<padding android:left="1dp" android:top="1dp" android:right="1dp"
    android:bottom="1dp" />
</shape>

尝试以下代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/white">

    <RelativeLayout
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="162dp"
        android:background="@drawable/style"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="fill_parent"
            android:layout_height="5dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:background="#000000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="24dp"
            android:text="played"
            android:textColor="#000000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/textView1"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="22dp"
            android:text="18"
            android:textColor="#000000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

    </RelativeLayout>

</RelativeLayout>

为布局创建边框,使style.xml可绘制:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
 <stroke
      android:width="5dp"
      android:color="@android:color/black" />
</shape>

输出:

请尝试以下代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/white">

    <RelativeLayout
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="162dp"
        android:background="@drawable/style"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="fill_parent"
            android:layout_height="5dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:background="#000000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="24dp"
            android:text="played"
            android:textColor="#000000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/textView1"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="22dp"
            android:text="18"
            android:textColor="#000000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

    </RelativeLayout>

</RelativeLayout>

为布局创建边框,使style.xml可绘制:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
 <stroke
      android:width="5dp"
      android:color="@android:color/black" />
</shape>

输出:

请尝试以下代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/white">

    <RelativeLayout
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="162dp"
        android:background="@drawable/style"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="fill_parent"
            android:layout_height="5dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:background="#000000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="24dp"
            android:text="played"
            android:textColor="#000000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/textView1"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="22dp"
            android:text="18"
            android:textColor="#000000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

    </RelativeLayout>

</RelativeLayout>

为布局创建边框,使style.xml可绘制:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
 <stroke
      android:width="5dp"
      android:color="@android:color/black" />
</shape>

输出:

请尝试以下代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/white">

    <RelativeLayout
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="162dp"
        android:background="@drawable/style"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="fill_parent"
            android:layout_height="5dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:background="#000000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="24dp"
            android:text="played"
            android:textColor="#000000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/textView1"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="22dp"
            android:text="18"
            android:textColor="#000000"
            android:textAppearance="?android:attr/textAppearanceMedium" />

    </RelativeLayout>

</RelativeLayout>

为布局创建边框,使style.xml可绘制:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
 <stroke
      android:width="5dp"
      android:color="@android:color/black" />
</shape>

输出:


您需要一个垂直方向的
线性布局
,带有笔划背景和上下
文本视图之间的分隔符

res/layout/custom_view.xml

MyObject.java


您需要一个垂直方向的
LinearLayout
,带有笔划背景和上下
TextView
之间的分隔符

res/layout/custom_view.xml

MyObject.java


您需要一个垂直方向的
LinearLayout
,带有笔划背景和上下
TextView
之间的分隔符

res/layout/custom_view.xml

MyObject.java


您需要一个垂直方向的
LinearLayout
,带有笔划背景和上下
TextView
之间的分隔符

res/layout/custom_view.xml

MyObject.java



为什么自定义文本视图?数字需要动态设置,“播放”文本是静态的,但数字需要更新。那又怎样?具有黑色边框和垂直方向的线性布局有两个文本视图,第一个文本视图将动态设置数字,第二个文本视图将通过播放字符串进行固定。高度为2 dp、颜色为黑色且中间没有任何文本的文本视图。就是这样。我会试试这个,谢谢。任何组件的自定义都可以使用xml文件来完成,为边框添加形状布局,其余只是父视图中的文本视图。为什么
自定义文本视图
?数字需要动态设置,“播放”文本是静态的,但数字需要更新。那又怎样?具有黑色边框和垂直方向的线性布局有两个文本视图,第一个文本视图将动态设置数字,第二个文本视图将通过播放字符串进行固定。高度为2 dp、颜色为黑色且中间没有任何文本的文本视图。就是这样。我会试试这个,谢谢。任何组件的自定义都可以使用xml文件来完成,为边框添加形状布局,其余只是父视图中的文本视图。为什么
自定义文本视图
?数字需要动态设置,“播放”文本是静态的,但数字需要更新。那又怎样?具有黑色边框和垂直方向的线性布局有两个文本视图,第一个文本视图将动态设置数字,第二个文本视图将通过播放字符串进行固定。高度为2 dp、颜色为黑色且中间没有任何文本的文本视图。就是这样。我会试试这个,谢谢。任何组件的自定义都可以使用xml文件来完成,为边框添加形状布局,其余只是父视图中的文本视图。为什么
自定义文本视图
?数字需要动态设置,“播放”文本是静态的,但数字需要更新。那又怎样?具有黑色边框和垂直方向的线性布局有两个文本视图,第一个文本视图将动态设置数字,第二个文本视图将通过播放字符串进行固定。高度为2 dp、颜色为黑色且中间没有任何文本的文本视图。就是这样。我会试试这个,谢谢。任何组件的定制都可以使用xml文件完成,为边框添加形状布局,其余的只是父视图中的文本视图。谢谢你的解决方案,我最终使用了类似的解决方案。谢谢你的解决方案,我最终使用了类似的解决方案。谢谢你的解决方案,我最终使用了类似的东西。谢谢你的解决方案,我最终使用了类似的东西。