Boa tarde, pessoal.
Ta acontecendo uma coisa engraçada no meu app, Atualizei o Android Studio para a versão 3.6.2 e quando coloco meu app pra rodar (sem ter implementado o AppBarLayout), o AppBarLayout aparece na tela e ainda mais todo expandido.
Então eu implementei ele, mas quando vou rodar o app, ele fecha na hora que abre.
Alguém pode me ajudar com isso?
Desde já obg!
mostra o seu style
Desculpa a demora.
Meu styles tava assim:
<?xml version="1.0" encoding="utf-8"?><style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<style name="NoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<string name="nav_app_bar_navigate_up_description" msgid="6301633601645100427">"Prejsť hore"</string>
//<string name="nav_app_bar_open_drawer_description" msgid="7456070600745802113">"Otvoriť navigačný vysúvací panel"</string>
marcando erro no AppTheme. Daí fui pesquisar sobre, e vi que o styles da turma estava com essa parte no começo:
<!-- Base application theme. -->
<style name="AppTheme" parent="Base.Theme.AppCompat.Light">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
Daí coloquei essa parte no meu styles e ele ficou assim:
<?xml version="1.0" encoding="utf-8"?><!-- Base application theme. -->
<style name="AppTheme" parent="Base.Theme.AppCompat.Light">
<!-- 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.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<style name="NoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<string name="nav_app_bar_navigate_up_description" msgid="6301633601645100427">"Prejsť hore"</string>
//<string name="nav_app_bar_open_drawer_description" msgid="7456070600745802113">"Otvoriť navigačný vysúvací panel"</string>
Daí o styles ficou sem erro.
Não lembro se esse erro do AppBarLayout estava acontecendo antes desse erro do styles, sem falar que não sei oq foi que aconteceu com o styles pra ele ter ficado sem a parte de cima e dando erro no AppTheme.
Grata e aguardando resposta.
Isso aqui tudo influencia no seu layout, se vc setou alguma coisa disso no manifest ou na classe, ele vai mudar… faz assim, cola esse styles abaixo no seu arquivo e ve se vai dar erro:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
No caso, substituir:
por: certo? Meu Manifest tá asism no começo: Obrigada.Nossa, tentei pro 3x enviar e só foi isso ¬¬ obg, orochimaru, qq coisa entro em contato novamente. Mt obg pela atenção!
orochimaru, não mudou nd…
Ok, mostra o código do seu xml e mostra a imagem, se possível, mostra o código da classe que trabalha com esse layout.
Tipo:
MainActivity
activity_main_layout.xml
orochimaru, rodou! Mas está diferente das outras activitys. A activity do main é essa:
E as outras estão como esta:
Todas as outras estão se comportando como com os 8dps, mas a do main não.
posta o código da classe, mostra o manifest…
sempre q for colar algum código aqui, seleciona ele todo e clica em </>
Então, o Manifest tá assim:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="sistema.escola">
<application
android:allowBackup="true"
android:icon="@mipmap/icone_app_escola"
android:label="@string/app_name"
android:roundIcon="@mipmap/icone_app_escola"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".UploadArquivo"
android:label="@string/title_activity_upload_arquivo"
android:theme="@style/NoActionBar"></activity>
<activity
android:name=".BackupArquivo"
android:label="@string/title_activity_backup_arquivo"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".BackupUploadArquivo"
android:label="@string/title_activity_backup_uploadarquivo"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".FormatarBancoDeDados"
android:label="@string/title_activity_formatar_banco_de_dados"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".RemoverAluno"
android:label="@string/title_activity_remover_aluno"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".AtualizarAluno"
android:label="@string/title_activity_atualizar_aluno"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".ConsultarAluno"
android:label="@string/title_activity_consultar_aluno"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".ListarAlunos"
android:label="@string/title_activity_listar_alunos"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".FotoAmpliada"
android:label="@string/title_activity_foto_ampliada"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".InserirAluno"
android:label="@string/title_activity_inserir_aluno"
android:theme="@style/AppTheme.NoActionBar" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
E o AppBarLayout está assim (em todas as activitys):
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:background="@color/colorPrimary"
android:theme="@style/AppTheme.AppBarOverlay"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</com.google.android.material.appbar.AppBarLayout>
Mas só o do main que não está aceitando os 8dps
pq vc ta passando o mesmo style pra todos layouts? se vc passar um no main, o restante vai pegar o mesmo style (a menos q vc mude, igual vc ta fazendo)
deixa esse no main, e o restante vc tira.
Vc passou outro style nesse layout aí
android:theme="@style/AppTheme.AppBarOverlay"
tira essa linha
Ok, orochimaru, era isso msm, obg!