뉴스 요약을 타일로 표시하는 뉴스 응용 프로그램을 만들려고합니다 (예 : Flipboard - http://uncrate.com/p/2010/07/flipboard.jpg 참조).균일하게 펼쳐진 Android GridLayout을 사용하여 뉴스 응용 프로그램 만들기
현재로서는 어떻게 구조화 될 수 있는지에 대한 매우 간단한 작업 예제 만 얻으려고합니다.
주변에서 읽었을 때, 깊이 중첩 된 LinearLayouts 사용을 피하기 위해 Android에서이 작업을 수행하는 가장 좋은 방법은 GridLayout을 사용하는 것입니다. 그러나, 나는 지금 2 시간 동안 이것을하려고 노력하고 있었다. 그러나 어떤 운도 가지지 않고 있었다. 이미 layout_width
을 0dp
으로 설정하고 LinearLayout
하위 요소를 layout_gravity
에서 fill_horizontal
으로 설정하려고 시도했지만 작동하지 않습니다. 나는이 코드 (예 :이 게시물에서 제안한대로 - 예 : https://stackoverflow.com/a/10348166/831821)에서 다음 코드에서이 작업을 수행하려고 시도하고 있지만 실제로 XML을 통해서만 달성 가능한지 알고 싶었습니다.
이 문제에 대한 도움을 주시면 감사하겠습니다.
아래는 현재 main.xml 레이아웃 파일입니다.
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:useDefaultMargins="true"
android:columnOrderPreserved="false" android:rowOrderPreserved="false"
android:layout_alignWithParentIfMissing="false" android:layout_centerInParent="true" android:columnCount="2"
android:rowCount="3">
<LinearLayout
android:layout_width="0dp"
android:layout_gravity="fill_horizontal"
android:layout_height="wrap_content" android:layout_row="0" android:layout_columnSpan="2"
android:layout_rowSpan="1" android:layout_column="0">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
android:id="@+id/textView"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_gravity="fill_horizontal"
android:layout_height="wrap_content" android:layout_column="0" android:layout_columnSpan="1"
android:layout_row="1" android:layout_rowSpan="2"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
android:id="@+id/textView1"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_gravity="fill_horizontal"
android:layout_height="wrap_content" android:layout_column="1" android:layout_columnSpan="1"
android:layout_row="1" android:layout_rowSpan="2"
android:baselineAligned="false" android:clickable="false"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
android:id="@+id/textView2"/>
</LinearLayout>
</GridLayout>
는 –
@LandLPartners 감사 대답에있는 LinearLayout 안에 모든 것을 할 = "1"대신 layout_gravity의 모든 선형 레이아웃에, 또한 jsut 수 usinf layout_weight를 시도하지만, 난 그냥 그것을 시도하고 그것은 작동하지 않았다 . 다른 단서들? – rod82
에서 GridLayout을 제거하는 동안 layout_weight가 GridLayouts에서 작동하지 않으므로 시도해 보았습니다. 시도 할 수있는 몇 가지 옵션은 테이블 레이아웃을 사용하거나 LieanerLayouts를 사용하여이 모든 것을 구현하는 것입니다 (복잡 해지는 방법에 따라 지저분해질 수 있음). –