fragmentar dinámico fragmento android

Quiero cambiar el ancho del fragmento uno en la actividad principal? es posible, porque no encuentro un "layoutparams" para cambiar el default con:

public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); int widthFfragment=300; Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); widthTot = size.x; heightTot = size.y; findViewById(R.id.f1).getLayoutParams().width = widthTot-widthFfragment; 

}}

este es el fragmento de código:

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/f1" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#330000" android:gravity="center_horizontal|center_vertical" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Fragment 1" android:textAppearance="?android:attr/textAppearanceLarge" /> 

Fragment1.java

 public class Fragment1 extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { //---Inflate the layout for this fragment--- return inflater.inflate( R.layout.fragment1, container, false); } 

}

Gracias

Puede hacerlo trabajando con la instancia LayoutParams de la vista obtenida de Fragment.getView (). Mi código de ejemplo:

 private void resizeFragment(Fragment f, int newWidth, int newHeight) { if (f != null) { View view = f.getView(); RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(newWidth, newHeight); view.setLayoutParams(p); view.requestLayout(); } } 

Y puede usarse de la siguiente manera:

 resizeFragment(myFragment, 200, 500); resizeFragment(otherFragment, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 

A la derecha, el Fragmento no tiene LayoutParams porque es un contenedor conceptual, ya sea que necesite ajustar los parámetros de diseño de la vista inflada en el fragmento, o al contenedor al que adjunta el fragmento.

 public class Fragment1 extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ViewGroup view = (ViewGroup) inflater.inflate( R.layout.fragment1, container, false); // TODO Adjust layout params of inflated view here return view; } 

El ejemplo supone que está inflando un ViewGroup.

Espero que ayude.

  • Android Material diseño transiciones
  • No se puede pausar la actividad, la vista de contenido aún no se ha creado
  • Fragmento ya agregó IllegalStateException
  • Añadir un fragmento a un diálogo
  • Android Pull-to-Refresh con Fragmento ListView y Adaptador ListView personalizado
  • Obtener la vista del fragmento de FragmentActivity
  • 3 fragmentos androides en viewpager, cómo mantenerlos todos vivos?
  • Determine el estado vacío del fragmento backstack en android
  • ¿Cómo intercambiar fragmentos con diferentes diseños en android?
  • Fragmentos anidados getchildfragmentmanager causando un bloqueo
  • YouTubePlayerSupportFragment en el elemento ListView es nulo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.