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 paddingTopa en el <LinearLayout>elemento anterior , y quiero hacerlo en el código Java en lugar de hacerlo en xml.
Cómo establecer paddingTopque <LinearLayout>en mi fragmento de código de clase Java ??

findViewByIdy luego llamarlosetPadding.viewya 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
dplugar, puede hacer una conversión :fuente
float scale = getResources().getDisplayMetrics().density;int size = (int) (sizeInPx*scale + 0.5f);sizeInDprealidad es el número de píxeles que obtienes al convertirsizeInPxdps.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
TypedValuees una forma mucho más limpia de convertir a píxeles en comparación con el cálculo manual:Básicamente,
TypedValue.applyDimensionconvierte 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.LayoutParamsoRelativeLayout.LayoutParamssegú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