使用TextViews(Android)的边框将屏幕分成两半(水平)

时间:2017-07-03 13:13:35

标签: android android-layout

我有一个将屏幕分成两个水平的布局,它可以正常工作。但是当我尝试放置边框(作为我自定义可绘制文件夹中的背景图像)时,第二个TextView不会从页面的一半开始。它紧挨着第一个视图。我该如何解决?

这是我的xml的一部分。

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/border_tasks"
            android:orientation="horizontal">
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="Bekleyen                 \n Görevler \n 10"
                android:layout_weight="1"/>
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="Biten                     \n Görevler \n 90"
                android:layout_weight="1"/>

        </LinearLayout>
    </LinearLayout>

这是完整的xml。

<?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:id="@+id/activitychart"
    android:orientation="vertical">
   <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="@drawable/border_name"
       android:orientation="vertical">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text ="Adı Soyadı"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Anadolu Sigorta - Eksper"
        />
   </LinearLayout>
    <com.github.mikephil.charting.charts.PieChart
        android:id="@+id/chart"
        android:background="@drawable/border_name"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:paddingLeft="@dimen/_5sdp"
        android:scaleX="1.02"
        android:scaleY="1.02"
        />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/border_tasks"
        android:orientation="horizontal">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Bekleyen                 \n Görevler \n 10"
            android:layout_weight="1"/>
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Biten                     \n Görevler \n 90"
            android:layout_weight="1"/>

    </LinearLayout>
</LinearLayout>

这里是边界任务(值只是随机的,你可以改变它们。) 我使用两个不同的文本视图的原因是,在添加一个更宽的边框后,我会为每个文本视图添加一个额外的边框,这个边框封装了它们两个

border_tasks.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <corners android:radius="20dp"/>
    <size android:width="@dimen/_160sdp" android:height="@dimen/_60sdp" ></size>
    <padding android:left="10dp" android:right="@dimen/_160sdp" android:top="10dp" android:bottom="10dp"/>
    <stroke android:width="1dp" android:color="#CCCCCC"/>
</shape>

这里@ dimen / _160sdp指的是160 dp,依此类推。我玩过价值观,但我无法使其发挥作用。

1 个答案:

答案 0 :(得分:1)

问题在于border_task.xml。 我通过删除尺寸标签并将填充从所有方向更改为10dp来更改它。

这将生成包含两个文本视图的圆角边框。文本视图占据了50/50的空间。

    <?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
        <corners android:radius="20dp"/>
        <padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/>
        <stroke android:width="1dp" android:color="#CCCCCC"/>
    </shape>

提示:要将LinearLayout的边框与屏幕边框分开,请向LinearLayout添加5dp的边距。