Почему для линейного макета невозможно иметь атрибуты стиля - PullRequest
17 голосов
/ 28 июля 2011

Я определил стиль для линейного макета, но макет не отображается в графическом представлении main.xml


main.xml.

<LinearLayout style="VerticalThemeLayoutInputs">

styles.xml

<resources>
<style name="VerticalThemeLayoutInputs">
    <item name="android:background">#6699FF</item>
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">fill_parent</item>

</style>
</resources>

Edit:

Но приведенный ниже код будет работать нормально, но я не хочу этот код

<LinearLayout
android:background="#6699FF"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

Интересный факт

Я использовал scrollview. В этом я поместил много линейных макетов. Свойства макетов почти одинаковы, поэтому я решил использовать стиль для этого. Но что происходит, знаете? макет не виден только в графическом представлении, но он отлично работает в эмуляторе.

Но на самом деле, что происходит? Я думаю, что это из-за прокрутки.

Ответы [ 4 ]

22 голосов
/ 28 июля 2011

Я думаю, что вы хотите style="@style/VerticalThemeLayoutInputs".

Е.Г.

<LinearLayout
    style="@style/VerticalThemeLayoutInputs">
4 голосов
/ 28 июля 2011

main.xml в res / layout /:

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android" 
    style="@style/VerticalThemeLayoutInputs"
>
</LinearLayout>

styles.xml в res / values ​​/:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="VerticalThemeLayoutInputs">
    <item name="android:background">#6699FF</item>
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">fill_parent</item>
    <item name="android:orientation">horizontal</item>
    <item name="android:gravity">center_vertical</item>
</style>
</resources>

onCreate метод в действии:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ...
0 голосов
/ 24 июня 2016

Вы уверены, что style.xml, расположенный в папке Value, НЕ в Ar / EN / .. потому что он вызвал значение по умолчанию в первом «value \ style.xml»

0 голосов
/ 28 июля 2011
<item name="android:layout_marginTop">@dimen/margin_top</item>

удалите этот тег и проверьте ... он кажется неправильным ... и в main.xml добавьте style="@style/VerticalThemeLayoutInputs" так же, как приведенный выше ответ Стива

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...