I have made a simple UI in XML and now I try to achieve the same results in Java. But for some reason weight doesn't work for me. It's really important for me to create my UI in java because XML wouldn't work for me.
Here is my XMl Code:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:weightSum="4"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:weightSum="2"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/french" android:adjustViewBounds="true" android:layout_weight="1"/> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/french" android:adjustViewBounds="true" android:layout_weight="1"/> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:weightSum="2"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/french" android:adjustViewBounds="true" android:layout_weight="1"/> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/french" android:adjustViewBounds="true" android:layout_weight="1"/> </LinearLayout> </LinearLayout> </RelativeLayout> and here my Java Code
RelativeLayout rl = new RelativeLayout(c); RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT ); rl.setLayoutParams(rlp); rl.setBackgroundColor(Color.parseColor("#FFFFFF")); LinearLayout container = new LinearLayout(c); LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT ); container.setLayoutParams(llp); container.setWeightSum(4f); container.setOrientation(LinearLayout.VERTICAL); LinearLayout upperRow = new LinearLayout(c); llp = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT ); upperRow.setLayoutParams(llp); upperRow.setWeightSum(2f); ImageView ivOne = new ImageView(c); llp = new LinearLayout.LayoutParams( 0, LinearLayout.LayoutParams.WRAP_CONTENT ); llp.weight = 1f; ivOne.setLayoutParams(llp); try { ivOne.setImageDrawable(Drawable.createFromStream(a.getAssets().open("Rest/french.jpg"),null)); } catch (IOException e) { e.printStackTrace(); } ImageView ivTwo = new ImageView(c); llp = new LinearLayout.LayoutParams( 0, LinearLayout.LayoutParams.WRAP_CONTENT ); llp.weight = 1f; ivTwo.setLayoutParams(llp); try { ivTwo.setImageDrawable(Drawable.createFromStream(a.getAssets().open("Rest/french.jpg"),null)); } catch (IOException e) { e.printStackTrace(); } upperRow.addView(ivOne); upperRow.addView(ivTwo); LinearLayout bottomRow = new LinearLayout(c); llp = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT ); bottomRow.setLayoutParams(llp); bottomRow.setWeightSum(2f); ImageView ivThree = new ImageView(c); llp = new LinearLayout.LayoutParams( 0, LinearLayout.LayoutParams.WRAP_CONTENT ); llp.weight = 1f; ivThree.setLayoutParams(llp); try { ivThree.setImageDrawable(Drawable.createFromStream(a.getAssets().open("Rest/french.jpg"),null)); } catch (IOException e) { e.printStackTrace(); } ImageView ivFour = new ImageView(c); llp = new LinearLayout.LayoutParams( 0, LinearLayout.LayoutParams.WRAP_CONTENT ); llp.weight = 1f; ivFour.setLayoutParams(llp); try { ivFour.setImageDrawable(Drawable.createFromStream(a.getAssets().open("Rest/french.jpg"),null)); } catch (IOException e) { e.printStackTrace(); } bottomRow.addView(ivThree); bottomRow.addView(ivFour); container.addView(upperRow); container.addView(bottomRow); rl.addView(container); a.setContentView(rl); Can someone please explain to me what I have done wrong and how I create this kind of UI in Java.
No comments:
Post a Comment