java - support - xmlns linearlayout




Come posso impostare le dimensioni del layout e del testo su DP all'interno del programma? (2)

Puoi usare:

float pixels = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 10, getResources().getDisplayMetrics());

Ora il valore dei pixels è equivalente a 10 10dp alla densità dello schermo corrente del dispositivo.

TypedValue contiene altri metodi simili che aiutano nella conversione.

Fondamentalmente ho questo all'interno di XML, ma devo ricrearlo all'interno di un codice. Come lo faccio?

<EditText 
        android:layout_width="140dp"
        android:layout_height="20dp"
        android:background="@drawable/input_bg01"
        android:textSize="10dp"
        android:gravity="center"
        android:text="111-222-333     FOOO" />

Posso usarlo per impostare la dimensione del testo, ma per quanto riguarda layout_width e height?

edTxt.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 10);

C'è un modo per dire al codice di usare l'unità DP al posto del pixel? O una funzione di conversione per convertire DP in pixel?


Risolto here .

Estratto:

DisplayMetrics metrics = getContext().getResources().getDisplayMetrics();
float dp = 20f;
float fpixels = metrics.density * dp;
int pixels = (int) (fpixels + 0.5f);




layout