如何创建自定义样式?

时间:2017-12-06 13:06:09

标签: android xamarin.android styles custom-controls

我的axml文件中有几个View小部件,它们看起来像:

 <View
     android:layout_width="fill_parent"
     android:layout_height="2dp"
     android:layout_marginTop="1dp"
     android:layout_marginBottom="5dp"
     android:background="#c0c0c0" />

我不想重复代码,所以我在Values文件夹中创建了styles.xml文件,其中包含以下内容:

<resources>
  <style name="HorizontalLine">
       <item name="android:layout_width">fill_parent</item>
       <item name="android:layout_height">2dp</item>
       <item name="android:layout_marginTop">1dp</item>
       <item name="marginBottom">5dp</item>
       <item name="android:background">#c0c0c0</item>
  </style>
</resources>

现在我试图在我的视图中引用这样的风格:

<View
     android:style="@style/HorizontalLine"
/>

但它不起作用。我已经在互联网上试图创造风格。我哪里错了?

1 个答案:

答案 0 :(得分:1)

Here is about how to use style in Xamarin.Android

用以下代码替换您的代码:

styles.xml

<resources>
  <style name="HorizontalLine">
       <item name="android:layout_width">fill_parent</item>
       <item name="android:layout_height">2dp</item>
       <item name="android:layout_marginTop">1dp</item>
       <item name="android:layout_marginBottom">5dp</item>
       <item name="android:background">#c0c0c0</item>
  </style>
</resources>

<item name="marginBottom">5dp</item>编译器无法识别它。

layout.xml

<View
     style="@style/HorizontalLine"
/>

android:style=替换为style=,您可以在链接中看到它。