- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在处理一个布局,其中我将 ListView 与 RelativeLayout 行项目一起使用。行项目本身显示不正确。
问题是 txtVideoDuration TextView 绘制在行项目的顶部而不是底部。因此,txtVideoTitle 的高度为 0。正如您在 XML 中看到的,txtVideoDuration 应该固定在 ListView 的底部。
我的目标是让布局类似于 google 给我的教程。示例:http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html
我使用的是 Android 2.0.1。我什至在没有修改的情况下将示例布局插入到 ListView 中,并且发生了相同的行为。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip">
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:id="@+id/imgVideoThumbnail"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:minHeight="64dip"
android:layout_marginRight="6dip"
android:src="@drawable/icon" />
<TextView
android:id="@+id/txtVideoDuration"
android:layout_width="fill_parent"
android:layout_height="26dip"
android:layout_toRightOf="@+id/imgVideoThumbnail"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:singleLine="true"
android:ellipsize="marquee"
android:text="0:00:00" />
<TextView
android:id="@+id/txtVideoTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/imgVideoThumbnail"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_above="@+id/txtVideoDuration"
android:layout_alignWithParentIfMissing="true"
android:gravity="center_vertical"
android:text="[Title]"
android:textColor="#FFFFFF" />
</RelativeLayout>
这个简单的例子很管用。这是 Activity 的根 XML 布局。顶部的错误代码是 ListView 中的行项目。似乎 ListView 本身正在破坏它。
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@+id/listVideoCatalog"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<TextView
android:id="@+id/txtName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Hello World" />
</RelativeLayout>
</merge>
这是将行项目扩展到 ListView 的 getView 代码。
static class ViewHolder
{
TextView txtTitle;
ImageView imgThumbnail;
TextView txtDuration;
Uri videoLocation;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder;
if(convertView == null)
{
LayoutInflater li = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = li.inflate(R.layout.listitem_videolineitem, null);
holder = new ViewHolder();
holder.txtDuration = (TextView) convertView.findViewById(R.id.txtVideoDuration);
holder.txtTitle = (TextView) convertView.findViewById(R.id.txtVideoTitle);
holder.imgThumbnail = (ImageView) convertView.findViewById(R.id.imgVideoThumbnail);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
VideoFile video = this.videos.get(position);
holder.txtDuration.setText(millisToTimestamp(video.videoDuration));
holder.txtTitle.setText(video.videoTitle);
// Some debugger visual code.
holder.txtDuration.setBackgroundColor(Color.GREEN);
holder.txtTitle.setBackgroundColor(Color.CYAN);
return convertView;
}
最佳答案
这已在已接受答案的评论 中得到解答。为了清楚起见,这就是答案:
改变
li.inflate(R.layout.listitem_videolineitem, null);
到
li.inflate(R.layout.listitem_videolineitem, parent, false);
关于Android 的 RelativeLayout 似乎坏了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1895303/
我正在尝试将我的应用布局从 LinearLayout 切换到 RelativeLayout。对我来说,保持良好的代码结构很重要,我认为如果我有一个父级 RelativeLayyout 用于整个屏幕,然
我正在尝试动态构建由多个图像组成的相关布局。这些相对布局将显示在先前相对布局的下方/右侧。 我从两个相对布局(rl100 和 rl200)开始。 rl200 低于 rl100。但是 rl200 并不低
作为一名 Android 开发人员,我是一个新手,我目前正在了解 RelativeLayout,但面临一个较小的问题,即 Textview 在图像上重叠。在这里,我为您提供了我想要的和我得到的图像以及
我有一个 ListView,其中填充了 RelativeLayouts。这些 RelativeLayouts 的内容可以改变,从而分别改变它们的高度。在每个 RelativeLayout 上,我在布局
我有一个 RelativeLayout,这个 Layout 有两个 child ,一个是 MapView,另一个是包含按钮的 RelativeLayout。 我希望它看起来像那样 但是我的透明框(Re
RelativeLayout in Android Studio 我有一个水平的 LinearLayout,其中有一个 RelativeLayout,我希望另一个 RelativeLayout 位于其
我的 Activity 布局必须如下所示: 屏幕分为 3 个部分(3“行”) 第一部分由左侧的图像和旁边的两个 TextView 组成。 第二部分是一个大文本,放入 ScrollView 中以便滚动。
我有一个如下的 relativeLayout: 在java代码中,我想在listview的左边添加一个view,但是没有成功: m_relativeLayout = (RelativeL
我想通过拖动 ImageView/RelativeLayout 的角来增加 ImageView/RelativeLayout 的大小。但在宽度上没有差异,并将其设置为底部。我通过使用 android:
我正在尝试获取我的 RelativeLayout 的尺寸。 许多人告诉我使用以下代码: RelativeLayout relativeLayout = (RelativeLayout) fin
我还没有找到解决我的问题的方法,也许你可以在这里帮助我。 我正在使用带有 ImageView 和 TextView 作为 subview 的 RelativeLayout。 TextView 包含大文
我有一个带有 ImageView 和 TextView 的 RelativeLayout。我想要 TextView 位于 ImageView 正下方(带有小填充)以及 ImageView 和 Text
每次单击按钮时,我都尝试在新 Activity (已创建)中添加一个新的 TextView,但我也遇到了多个错误,例如空指针异常和非法状态异常。 这是我在 button Activity 中使用的代码
有没有办法将高斯模糊效果应用于 View ?我想将此效果应用于另一个布局之上的相对布局。我找到了this ,但它仅适用于图像。P.S.:相对布局有纯色(我使用了setBackgroundColor方法
我有一个益智游戏,其中的棋盘是一个矩形,边框由一个网格单元长的棋子组成。我有一种随机化图像并将它们环绕在关卡周围的方法,但是......这真的很糟糕。它有一个最奇怪的错误:根据运行的 Android
我正在尝试创建一个拼字游戏,您可以在拼字游戏中向右或向左拖动一个字母,然后交换字母。以编程方式对 RelativeLayout 中的项目重新排序的最佳方法是什么,以便在向左拖动字母时,tile 通过的
我正在添加 accessebility支持一些应用程序。它适用于标准 UI 元素(例如按钮),但由于某种原因不适用于我的自定义元素,即带有 ImageView 和 TextView 的 Relativ
我正在从事一个涉及在图像上绘画的项目。 要删除不需要的直线或曲线,我必须绘制一个边框和 X 按钮将其删除。 我有一个相对布局,其中有手绘 Canvas 。在编辑模式下,我应该像你在图片中看到的那样制作
我在 android 中为 relativelayout 编写了一些代码,但没有 xml,下面是我使用的代码。 package layout.program; import android.app.
我有一个使用相对布局的表格行设置。它有 2 个 TextView,我希望它们具有相等的间距和左对齐的文本。请参阅下面的当前设置。这有一个 TextView 左对齐,另一个右对齐。当我更改为对齐左侧内容
我是一名优秀的程序员,十分优秀!