我目前正在Android应用程序中开发类似新闻Feed的活动(我对Android开发很新)。
The following picture展示了我想要实现的目标。 总结一下:
新闻列表
对于每条新闻,左栏显示图片(每条新闻的大小相同),右栏显示右侧气泡以显示链接文章的日期,标题和第一行。
后端通信很容易设置,我在一个单独的线程上收到一个新闻列表,并使用UI线程来更新视图。 不幸的是,查看格式对我来说并不容易。 我尝试了几种混合TableLayout& amp; RelativeLayouts。 不幸的是,这些解决方案都没有效率。
在这个阶段,我遇到了大于屏幕宽度(like in this picture
的行为了构建我的布局,我使用2个XML&使用代码更新文本值和图片。
第一个XML包含TableLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1"
android:layout_marginTop="30dp"
android:layout_marginBottom="30dp"
android:id="@+id/tblFeed">
</TableLayout>
第二个XML包含表行模式:
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="1"
android:id="@+id/tblRow">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingTop="0dp"
android:paddingBottom="0dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:padding="3dip"
android:gravity="center"
android:id="@+id/imgPin"
android:src="@drawable/android_icon"/>
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingTop="0dp"
android:paddingBottom="0dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:padding="3dip"
android:textColor="#000000"
android:textSize="18sp"
android:gravity="right"
android:id="@+id/txtDate"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:padding="3dip"
android:textColor="#000000"
android:textSize="18sp"
android:id="@+id/txtType"
android:layout_below="@+id/txtDate"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:padding="3dip"
android:textColor="#000000"
android:textSize="18sp"
android:id="@+id/txtTitle"
android:layout_below="@+id/txtType"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:padding="3dip"
android:textColor="#000000"
android:textSize="18sp"
android:id="@+id/txtDescription"
android:layout_below="@+id/txtTitle"/>
</RelativeLayout>
我遇到了几个问题:
我也想知道是否混合TableLayouts&amp; RelativeLayouts确实是实现这一目标的最佳方式。
你能告诉我吗?