在android小部件中添加水平线

Der*_*ron 2 android android-widget

我试图在 android 应用程序 WIDGET xml 中的所有 TextViews 下方添加一条水平线,但我有一个问题,由于某种原因,这不起作用。

编辑:这是我在应用程序中使用的小部件的完整 xml

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

<LinearLayout
    android:id="@+id/liner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/da"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/sv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <View
        android:layout_width="fill_parent"
        android:layout_height="2dip"
        android:background="#B3B2B0"
        android:padding="10dp" />

    <TextView
        android:id="@+id/ti"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

GoR*_*RoS 6

您的问题是 Widgets 不支持 Views,正如您在此处看到的。在您的情况下,您可以像这样用 LinearLayout 替换该视图:

<LinearLayout
    android:id="@+id/widget_horizontal_white_bar"
    android:layout_width="fill_parent"
    android:layout_height="3dip"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:layout_marginTop="6dp"
    android:background="#FFFFFF"
    android:orientation="horizontal" >
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

  • 或者,如果您不想将其从 View 的三个中删除,则只需将视图设为 `INVISIBLE` 或 `GONE`:`((LinearLayout)findViewById(R.id.widget_horizo​​ntal_white_bar)).setVisibility(View.GONE);` (2认同)