Autore Topic: Cambiare dimensione ActionBar  (Letto 300 volte)

Offline MarcoMarco

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
Cambiare dimensione ActionBar
« il: 17 Luglio 2016, 15:33:01 CEST »
0
Salve
Di recente ho provato a cambiare la dimensione dell'actionbar utilizzando questo codice su res/styles


Codice (Java): [Seleziona]
 <style name="CustomActionBar" parent="Theme.AppCompat.Light.DarkActionBar">
        <!--  <item name="android:background">@drawable/action_bar_style</item> -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:height">@dimen/altezza</item>

    </style>

per poi dire al manifest di prendere CustomActionBar anzichè quello di default

Codice (Java): [Seleziona]
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.marco.orologio">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/CustomActionBar">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Ma nonostante questo la dimensione non è cambiata, @dimen/altezza lo messo a 300 dp si noterebbe se funzionasse ma rimane sempre lo stesso

Sapreste indicarmi cosa sbaglio ?
Grazie

Offline DCode

  • Utente junior
  • **
  • Post: 69
  • Respect: +20
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 16.04 LTS
Re:Cambiare dimensione ActionBar
« Risposta #1 il: 18 Luglio 2016, 15:40:08 CEST »
+1
Al posto di settare l'altezza con height prova con:

Codice (XML): [Seleziona]
<item name="actionBarSize">@dimen/altezza</item>
<item name="android:actionBarSize">@dimen/altezza</item>
┻━┻ ︵ヽ(°□°ヽ) Develop w/ ( ( ObjC || Swift ) && Java[ "Android" ] ) (╯°□°)╯︵ ┻━┻

Offline MarcoMarco

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
Re:Cambiare dimensione ActionBar
« Risposta #2 il: 19 Luglio 2016, 10:54:19 CEST »
0
ha funzionato grazie mille  :-)

Offline MarcoMarco

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
Re:Cambiare dimensione ActionBar
« Risposta #3 il: 21 Luglio 2016, 18:51:10 CEST »
0
Un'altra domanda
Ho provato di recente ad aggiungere un'immagine di sfondo dell'actionbar ma ogni metodo che ho provato non mi ha funzionato

sapresti indicarmi come fare ? o qualche guida precisa ?
 

Offline DCode

  • Utente junior
  • **
  • Post: 69
  • Respect: +20
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 16.04 LTS
Re:Cambiare dimensione ActionBar
« Risposta #4 il: 22 Luglio 2016, 09:10:28 CEST »
0
Prova così:

Codice (Java): [Seleziona]
ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(R.layout.action_bar_layout);

Devi ovviamente creare un layout per poi metterlo in setCustomView

Buona giornata  ;-)
┻━┻ ︵ヽ(°□°ヽ) Develop w/ ( ( ObjC || Swift ) && Java[ "Android" ] ) (╯°□°)╯︵ ┻━┻

Offline MarcoMarco

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
Re:Cambiare dimensione ActionBar
« Risposta #5 il: 22 Luglio 2016, 10:56:08 CEST »
0
Salve
Ti ringrazio per la risposta ho provato come hai detto tu però mi da un errore

questo è il codice che ho messo (praticamente quello che mi hai postato gentilmente tu)

Codice (Java): [Seleziona]
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        ActionBar actionBar = getActionBar();
        actionBar.setDisplayShowTitleEnabled(false);
        actionBar.setDisplayShowCustomEnabled(true);
        actionBar.setCustomView(R.layout.customactionbar);
    }
}

Ho creato un altro layout mettendo solo un'immagine per vedere che risultato mi dava ma mi ha dato un errore
ti posto il logcat

Codice (Java): [Seleziona]
Caused by: java.lang.NullPointerException
                                                                                          at com.example.marco.proprietaelevation.MainActivity.onCreate(MainActivity.java:16)
                                                                                          at android.app.Activity.performCreate(Activity.java:5368)
                                                                                          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090)
                                                                                          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2387)
                                                                                          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2484)
                                                                                          at android.app.ActivityThread.access$800(ActivityThread.java:158)
                                                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1391)
                                                                                          at android.os.Handler.dispatchMessage(Handler.java:110)
                                                                                          at android.os.Looper.loop(Looper.java:193)
                                                                                          at android.app.ActivityThread.main(ActivityThread.java:5486)
                                                                                          at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                          at java.lang.reflect.Method.invoke(Method.java:515)
                                                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
                                                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
                                                                                          at dalvik.system.NativeStart.main(Native Method)

Offline DCode

  • Utente junior
  • **
  • Post: 69
  • Respect: +20
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 16.04 LTS
Re:Cambiare dimensione ActionBar
« Risposta #6 il: 22 Luglio 2016, 11:19:12 CEST »
0
Al posto di
Codice (Java): [Seleziona]
getActionBar()prova
Codice (Java): [Seleziona]
getSupportActionBar()
┻━┻ ︵ヽ(°□°ヽ) Develop w/ ( ( ObjC || Swift ) && Java[ "Android" ] ) (╯°□°)╯︵ ┻━┻

Offline MarcoMarco

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
Re:Cambiare dimensione ActionBar
« Risposta #7 il: 22 Luglio 2016, 11:44:33 CEST »
0
purtroppo mi da questo errore appena lo cambio

Codice (Java): [Seleziona]
Error:(15, 50) error: incompatible types: android.support.v7.app.ActionBar cannot be converted to android.app.ActionBar

Offline DCode

  • Utente junior
  • **
  • Post: 69
  • Respect: +20
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 16.04 LTS
Re:Cambiare dimensione ActionBar
« Risposta #8 il: 22 Luglio 2016, 11:58:31 CEST »
0
Ok allora secondo me è un problema del tema.
Prova ad aggiungere prima di fare getActionBar()

Codice (Java): [Seleziona]
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
Non sono sicuro che funzioni, ma prova  ;-)
┻━┻ ︵ヽ(°□°ヽ) Develop w/ ( ( ObjC || Swift ) && Java[ "Android" ] ) (╯°□°)╯︵ ┻━┻