1

如何将 XML 代码中的元素包装在类似视图的框内?这意味着我希望它们看起来像是被分组在带有边框的某个框中。

<Button
    android:id="@+id/carbgraph"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_x="230dp"
    android:layout_y="378dp"
    android:text="Button" />

<ProgressBar
    android:id="@+id/progressBarforcals"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="280dp"
    android:layout_height="wrap_content"
    android:layout_x="15dp"
    android:layout_y="346dp" />

<TextView
    android:id="@+id/calsinmenu"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_x="16dp"
    android:layout_y="320dp"
    android:text="TextView" />
4

3 回答 3

5

将您的小部件放入布局(例如 LinearLayout)并编辑此布局背景,如下所示:

<LinearLayout 
   ...
   android:background="@drawable/background"
</LinearLayout>

然后在名为 background.xml 的可绘制文件夹中创建一个 XML 文件:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke 
        android:width="3dp" 
        android:color="#838c7f">
    </stroke>

    <padding 
        android:left="3dp" 
        android:top="3dp"
    android:right="3dp" 
    android:bottom="3dp">
    </padding>

    <corners android:radius="4dp" />

    <gradient 
        android:startColor="@color/background_start" 
        android:endColor="@color/background_end"/>
</shape>
于 2012-05-04T18:25:05.333 回答
0
You can set background of your layout

创建一个看起来像带有名为 box.png 边框的框的图像 将此图像放入可绘制对象中

ex:

    <LinearLayout 
    .. ..  
        android:backgroud="@drawable/box.png">

<Button
    android:id="@+id/carbgraph"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_x="230dp"
    android:layout_y="378dp"
    android:text="Button" />

<ProgressBar
    android:id="@+id/progressBarforcals"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="280dp"
    android:layout_height="wrap_content"
    android:layout_x="15dp"
    android:layout_y="346dp" />

<TextView
    android:id="@+id/calsinmenu"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_x="16dp"
    android:layout_y="320dp"
    android:text="TextView" />


    </LinearLayout>
于 2012-05-04T18:25:14.223 回答
0

还有另一种方式...

您可以为外部视图添加背景颜色(例如黑色),然后为内部视图添加不同的背景颜色(例如白色),为内部视图添加边距,您就完成了!

于 2018-08-10T11:19:13.107 回答