Aviso prévio
-
As informações do equipamento do modelo principal podem ser usadas como referência
-
Resumo dos problemas comuns da solução de adaptação da tela de manchetes de hoje
-
Para projetos antigos, se você usa AndroidAutoLayout , consulte o guia de migração AndroidAutoLayout . AndroidAutoSize pode ser usado com AndroidAutoLayout . Como AndroidAutoLayout usa px , AndroidAutoSize não terá nenhum impacto sobre ele. Se algumas páginas do projeto antigo usaram dp antes Layout e AndroidAutoSize tiveram um efeito negativo nessas páginas . A antiga Activity que usava dp pode realizar CancelAdapt para cancelar a adaptação. Recomenda-se usar subunidades. O uso de subunidades não afetará as páginas que usavam dp anteriormente (nem Afeta bibliotecas tripartidas e controles do sistema), consulte as subunidades de demonstração para obter detalhes
Baixar
implementation 'me.jessyan:autosize:1.2.1'
Uso
Etapa 1 (realmente não estou me gabando, só precisa da etapa seguinte, o framework pode se adaptar a todas as páginas do projeto)
- Preencha o tamanho do desenho de design global (unidade dp) em AndroidManifest. Se você usar subunidades, poderá preencher o tamanho do pixel diretamente sem converter pixels em dp. Para obter detalhes, consulte as subunidades de demonstração
Atividade
- Quando o tamanho do desenho de design de uma determinada Activity é diferente do tamanho do design global preenchido em AndroidManifest, a interface CustomAdapt pode ser implementada para expandir os parâmetros de adaptação
public class CustomAdaptActivity extends AppCompatActivity implements CustomAdapt {
@Override
public boolean isBaseOnWidth() {
return false;
}
@Override
public float getSizeInDp() {
return 667;
}
}
- Quando uma atividade deseja desistir da adaptação, implemente a interface CancelAdapt
public class CancelAdaptActivity extends AppCompatActivity implements CancelAdapt {
}
Fragmento
- Primeiro, ative a função que suporta parâmetros personalizados de fragmento
AutoSizeConfig.getInstance().setCustomFragment(true);
- Quando o tamanho do desenho de design de um determinado fragmento é diferente do tamanho do design global preenchido em AndroidManifest, a interface CustomAdapt pode ser implementada para expandir os parâmetros de adaptação
public class CustomAdaptFragment extends Fragment implements CustomAdapt {
@Override
public boolean isBaseOnWidth() {
return false;
}
@Override
public float getSizeInDp() {
return 667;
}
}
- Quando um fragmento deseja desistir da adaptação, implemente a interface CancelAdapt
public class CancelAdaptFragment extends Fragment implements CancelAdapt {
}
Subunidades (leia as subunidades de demonstração com atenção; há uma introdução detalhada)
- Você pode escolher uma das três unidades impopulares de pt, pol e mm como a subunidade. A subunidade é usada para evitar os efeitos adversos em outros controles do sistema ou controles tripartidos da biblioteca usando o layout dp causado pela modificação da densidade DisplayMetrics # . Use Após a subunidade, você pode preencher diretamente o tamanho do pixel no desenho do projeto, sem necessidade de converter o pixel em dp
AutoSizeConfig.getInstance().getUnitsManager()
.setSupportDP(false)
.setSupportSP(false)
.setSupportSubunits(Subunits.MM);
DEOM: https://github.com/JessYanCoding/AndroidAutoSize
A publicação é apenas para armazenamento e conveniência. Se você tiver qualquer problema de direitos autorais, entre em contato comigo a tempo.