2016-03-28 2 views
0

Привет, ребята, у меня есть приложение с двумя действиями, во втором действии у меня есть панель действий с названием моего приложения, отображаемым без проблем. Однако в моей деятельности по запуску панель отображается на дисплее Android-дисплея, но не в самом приложении ... Любая идея, что происходит? Вот мой XML:Панель действий, показанная на дисплее студии Android, но не в моем фактическом приложении

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
    tools:context=".Menu_Activity"> 

<ListView 
    android:id="@+id/list" 
    android:layout_width="wrap_content" 
    android:layout_height="40dp" 
    android:layout_weight="0.99" 
    android:dividerHeight="2px"> 

</ListView> 

<ProgressBar 
    android:id="@+id/progressBar1" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentBottom="true" /> 

<Button 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Download content" 
    android:textColor="#FFFFFF" 
    android:id="@+id/button" 
    android:background="@drawable/buttonshape" /> 

</LinearLayout> 

и вот XML, где отображается панель:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:gravity="center"> 



<ProgressBar 
    android:id="@+id/progressBar1" 
    style="?android:attr/progressBarStyleLarge" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 

    /> 

<ListView 
    android:id="@+id/list" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:divider="#FF000080" 
    android:dividerHeight="2px"> 


</ListView> 



</LinearLayout> 

Im ничего относительно бара в Java-файлы, кроме расширения AppCompatActivity в обоих случаях не делать.

Вот файл стилей:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 



<style name="AppTheme.AppBarOverlay"  parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

</resources> 

Спасибо за вашу помощь.

+1

Android Studio может показать вам, как выглядит ваш макет, используя любую тему, доступную для него. Особенно, когда вы используете инструменты: контекст. Возможно, Android Studio выбрала неправильную тему. Какие темы у вас есть в вашей деятельности и приложении в вашем файле манифеста? – lodlock

+0

Я не вижу 'android.support.v7.widget.Toolbar' в любом из этих файлов XML. Почему вы видите их в окне предварительного просмотра Android Studio? –

ответ

2

Возможно 1: Если ваше приложение расширяет Activity, измените его на AppCompatActivity.

Возможности 2: У вас нет разных файлов разных версий под названием "styles.xml"? Убедитесь, что ни одна из них не имеет темы с именем AppTheme.NoActionBar.

Устройство, на котором запущено приложение, получит более подходящую тему для своей версии. Если у вас есть файл с именем styles.xml(v21), например, устройства с Lollipop или выше будут использовать его.

+0

возможность 1 работает для меня, спасибо –

0

Я думаю, что вы каким-то образом хотите отобразить listView с содержимым в своей деятельности, которое не отображает панель действий. Ну вот, что я сделал для своего. В основном методе я расширил AppCompactActivity, и в самом методе я объявил listView как переменную вроде ListView listView;, после чего в методе onCreate основного объекта вы просто подключили это к id вашего списка, используя listView = (ListView) findViewById(R.id.thelistid), после чего я просто называемый адаптером, который должен заполнить список содержимым listView.setAdapter(nameOfYourAdapter) Надеюсь, что это поможет!