我在构建一个XML布局时遇到了一个问题:屏幕的一半是videoView,有两个孩子的可扩展列表,视频框下面有一些textView。文本位于列表下方,因此如果我展开列表,列表将填充半屏幕的其余部分,它应该能够滚动到文本视图。
我的想法是将可扩展列表放在滚动视图中,但我无法扩展列表。
我的布局如下:
有没有其他方法来实现我的意图,或者为什么我不能扩展我的列表。
编辑:XML布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<VideoView
android:id="@+id/video_player_h"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1" >
<ExpandableListView
android:id="@+id/expandableList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:groupIndicator="@drawable/group_indicator" >
<TextView
android:id="@+id/android:empty"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Empty" >
</TextView>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/view_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:gravity="center"
android:paddingLeft="10dp"
android:text="Views: "
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/view_text"
android:gravity="center"
android:hint="12345"
android:paddingLeft="10dp"
android:textSize="16sp" />
<RatingBar
style="@style/newRatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:isIndicator="false"
android:numStars="5"
android:rating="3" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/date_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:paddingLeft="10dp"
android:text="Date: "
android:textSize="16sp" />
<TextView
android:id="@+id/date_video"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/date_text"
android:hint="11.11.1111"
android:textSize="16sp" />
<TextView
android:id="@+id/uploader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:hint="Mr. X"
android:paddingRight="10dp"
android:textSize="16sp" />
<TextView
android:id="@+id/user_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/uploader"
android:text="User: "
android:textSize="16sp" />
</RelativeLayout>
</ExpandableListView>
</ScrollView>
</LinearLayout>
课程:
public class Player extends Activity {
ExpandableListView titleList;
VideoView videoView;
ExpandableListAdapter exp;
private static final String OUTPUT_FILE="/storage/sdcard0/bigbuckbunny.3gp";
public int GetDipsFromPixel(float pixels)
{
float scale = getResources().getDisplayMetrics().density;
return (int) (pixels * scale + 0.5f);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.play_activity);
videoView = (VideoView) findViewById(R.id.video_player_h);
MediaController mc = new MediaController(this);
videoView.setMediaController(mc);
videoView.setVideoPath(OUTPUT_FILE);
if (getResources().getConfiguration().orientation == 1) {
titleList = (ExpandableListView) findViewById(R.id.expandableList);
ArrayList<String> groupList = new ArrayList<String>();
groupList.add("Titel");
ArrayList<ArrayList<String>> childrenList = new ArrayList<ArrayList<String>>();
ArrayList<String> childrenElement = new ArrayList<String>();
childrenElement.add("Beschreibung");
childrenList.add(childrenElement);
ExpandableListAdapter listAdapter = new ExpandableAdapter(this, groupList, childrenList);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int width = metrics.widthPixels;
titleList.setIndicatorBounds(width - GetDipsFromPixel(50), width - GetDipsFromPixel(10));
titleList.setAdapter(listAdapter);
titleList.setDividerHeight(1);
titleList.setClickable(false);
}
}
class ExpandableAdapter implements ExpandableListAdapter {
Context context;
ArrayList<String> groups;
ArrayList<ArrayList<String>> children;
public ExpandableAdapter(Context context, ArrayList<String> groups, ArrayList<ArrayList<String>> children) {
this.context = context;
this.groups = groups;
this.children = children;
}
public Object getChild(int groupPosition, int childPosition) {
return children.get(groupPosition).get(childPosition);
}
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
if(convertView==null){
LayoutInflater inflator = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflator.inflate(R.layout.title_child, null);
}
TextView text = (TextView) convertView.findViewById(R.id.child_field);
text.setText(children.get(groupPosition).get(childPosition));
return convertView;
}
public int getChildrenCount(int groupPosition) {
return children.get(groupPosition).size();
}
public Object getGroup(int groupPosition) {
return groups.get(groupPosition);
}
public int getGroupCount() {
return groups.size();
}
public long getGroupId(int groupPosition) {
return groupPosition;
}
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
if(convertView==null){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.title_group, null);
}
TextView text = (TextView) convertView.findViewById(R.id.group_field);
text.setText(groups.get(groupPosition));
return convertView;
}
public boolean hasStableIds() {
return true;
}
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
public boolean areAllItemsEnabled() {
return false;
}
public long getCombinedChildId(long groupId, long childId) {
return 0;
}
public long getCombinedGroupId(long groupId) {
return 0;
}
public boolean isEmpty() {
return false;
}
public void onGroupCollapsed(int groupPosition) {
}
public void onGroupExpanded(int groupPosition) {
}
public void registerDataSetObserver(DataSetObserver observer) {
}
public void unregisterDataSetObserver(DataSetObserver observer) {
}
}
}
当然,我的建议是
>
滚动视图
<ExpandableListView
android:id="@+id/android:list"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:groupIndicator="@drawable/group_indicator">
<TextView
android:id="@+id/android:empty"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Empty">
</TextView>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/view_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:gravity="center"
android:paddingLeft="10dp"
android:text="Views: "
android:textSize="16sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/view_text"
android:gravity="center"
android:paddingLeft="10dp"
android:hint="12345"
android:textSize="16sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/date_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:paddingLeft="10dp"
android:text="Date: "
android:textSize="16sp" />
<TextView
android:id="@+id/date_video"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/date_text"
android:hint="11.11.1111"
android:textSize="16sp" />
</RelativeLayout>
</ExpandableListView>
</ScrollView>
本文向大家介绍Android实现可收缩和扩展的TextView,包括了Android实现可收缩和扩展的TextView的使用技巧和注意事项,需要的朋友参考一下 在Android原生的TextView的基础上,可收缩/扩展的TextView:PhilExpandableTextView。 实现原理:核心是控制TextView的max lines。在TextView的初始化阶段但尚未绘制出View的时
我用了这个尺寸的盒子,似乎还是有错误。 这是我的小部件树:SingleChildScrollView- 医生总结(查看所有细节,运行颤动医生-v): 颤动(频道beta,v0.4.4,Mac OS X 10.13.1 17B1003,语言环境en-HK) [✓] Android工具链-为Android设备开发(Android SDK 26.0.2) iOS工具链-为iOS设备开发(Xcode 9.
问题内容: 是否可以使用Java 而非 JavaScript 构建Chrome扩展程序?(我在Eclipse IDE中使用Java SE。) 问题答案: Chrome扩展程序必须运行JavaScript。但是,您可以使用Google Web Toolkit 将Java编译为JavaScript。
趋势 长相 男人 ----西式服装 -----伤员 --鞋类 }
我正在尝试设置一个相对布局,屏幕顶部有一个工具栏,中央有一个listView。这是我的XML: 会不会是与TextView/ListView大小相关的问题?
这是我第一次来到这个网站。我已经在web上搜索了如何将sqlite数据库填充到可扩展的listview,但我失败了。 我遵循这些步骤来了解如何创建可扩展的listview,并修改一些代码使其动态化。 当我试图运行模拟器时,程序崩溃了。 我是android开发的新手,我需要你们专家的帮助…提前道谢。 哦..我很抱歉。这是我的logcat的结果...这只是错误部分。