Estoy desarrollando la aplicación Android v2.2.
Tengo un fragmento .
En la onCreateView(...)
devolución de llamada de mi clase de fragmento, inflo un diseño al fragmento como a continuación:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.login, null);
return view;
}
El archivo de diseño inflado anterior es (login.xml):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Username" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Username" />
</LinearLayout>
Me gustaría establecer paddingTop
a en el <LinearLayout>
elemento anterior , y quiero hacerlo en el código Java en lugar de hacerlo en xml.
Cómo establecer paddingTop
que <LinearLayout>
en mi fragmento de código de clase Java ??
findViewById
y luego llamarlosetPadding
.view
ya es LinearLayout, no es necesario encontrarlo nuevamente en este caso. Sin embargo, dado que este es especial.Respuestas:
view.setPadding(0,padding,0,0);
Esto establecerá el relleno superior a
padding
-píxeles.Si desea configurarlo en su
dp
lugar, puede hacer una conversión :fuente
float scale = getResources().getDisplayMetrics().density;
int size = (int) (sizeInPx*scale + 0.5f);
sizeInDp
realidad es el número de píxeles que obtienes al convertirsizeInPx
dps.Para responder a su segunda pregunta:
como sugirieron SpK y Jave, establecerá el relleno en píxeles. Puede configurarlo en dp calculando el valor de dp de la siguiente manera:
¡Espero que ayude!
fuente
Si almacena el relleno en archivos de recursos, simplemente puede llamar
Hace la conversión por ti.
fuente
Usando Kotlin y la biblioteca android-ktx, simplemente puedes hacer
Ver documentos aquí
fuente
Puede configurar el relleno a su vista mediante programación a través del siguiente código:
Y, también hay diferentes tipos de relleno disponibles:
Relleno
Fondo acolchado
Acolchado Izquierdo
AcolchadoDerecho
Acolchado superior
Estos enlaces harán referencia al sitio de desarrolladores de Android. Espero que esto te ayude mucho.
fuente
El uso
TypedValue
es una forma mucho más limpia de convertir a píxeles en comparación con el cálculo manual:Básicamente,
TypedValue.applyDimension
convierte el relleno deseado en píxeles de forma adecuada según las propiedades de visualización del dispositivo actual.Para obtener más información, consulte: TypedValue.applyDimension Docs .
fuente
use el siguiente método para configurar el relleno dinámicamente
Ejemplo:
fuente
Escriba el código siguiente para configurar el relleno, puede ayudarlo.
Usar
LinearLayout.LayoutParams
oRelativeLayout.LayoutParams
según el diseño principal de la vista secundariafuente
fuente
Mientras rellena mediante programación, convierta a valores relacionados con la densidad mediante la conversión de píxeles a Dp.
fuente