android 元素并排的布局
android which layout for elements side by side
我是 android 编程的新手。我想实现一个简单的布局,元素在滚动视图中并排排列。这个想法是每次处理一个带有图像和文本的元素,让布局根据屏幕分辨率选择何时是马车 return 的正确时间。我尝试了每种布局,但似乎没有一种适合我的目的。特别是相对布局元素是重叠的,而不是我需要的是空间附加。在尝试解决方法(例如在线性布局内的一行中添加更多元素)之前,我想知道是否存在更自然的解决方案。
(来源:youth-stories.com)
我创建了一个示例 activity 来尝试解决方案:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final RelativeLayout container = (RelativeLayout)findViewById(R.id.container);
for(int i=0; i < 100; i++)
{
final Button button = new Button(this);
button.setText("sda"+i);
button.setId(i);
container.addView(button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
container.removeView(button);
}
});
}
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="0dp"
android:id="@+id/outer"
android:tileMode="disabled" android:gravity="top">
<ImageView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/background"
android:scaleType="centerCrop"/>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/scrollView" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/container"></RelativeLayout>
</ScrollView>
</RelativeLayout>
对于显示的图表,您可以选择网格布局,您可以为单元格之间的间距自定义网格布局。
如果仍然不能满足您的需求,我的建议是线性布局和布局权重,但是嵌套权重是一种性能开销。
http://developer.android.com/reference/android/widget/GridLayout.html
Why are nested weights bad for performance? Alternatives?
希望对您有所帮助!!
从上面给定的图中,你可以使用GridView来绘制UI给定的。您可以指定项目之间的间距以及每行包含多少列。
作为参考,请查看开发者文档。
我是 android 编程的新手。我想实现一个简单的布局,元素在滚动视图中并排排列。这个想法是每次处理一个带有图像和文本的元素,让布局根据屏幕分辨率选择何时是马车 return 的正确时间。我尝试了每种布局,但似乎没有一种适合我的目的。特别是相对布局元素是重叠的,而不是我需要的是空间附加。在尝试解决方法(例如在线性布局内的一行中添加更多元素)之前,我想知道是否存在更自然的解决方案。
(来源:youth-stories.com)
我创建了一个示例 activity 来尝试解决方案:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final RelativeLayout container = (RelativeLayout)findViewById(R.id.container);
for(int i=0; i < 100; i++)
{
final Button button = new Button(this);
button.setText("sda"+i);
button.setId(i);
container.addView(button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
container.removeView(button);
}
});
}
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="0dp"
android:id="@+id/outer"
android:tileMode="disabled" android:gravity="top">
<ImageView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/background"
android:scaleType="centerCrop"/>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/scrollView" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/container"></RelativeLayout>
</ScrollView>
</RelativeLayout>
对于显示的图表,您可以选择网格布局,您可以为单元格之间的间距自定义网格布局。 如果仍然不能满足您的需求,我的建议是线性布局和布局权重,但是嵌套权重是一种性能开销。
http://developer.android.com/reference/android/widget/GridLayout.html
Why are nested weights bad for performance? Alternatives?
希望对您有所帮助!!
从上面给定的图中,你可以使用GridView来绘制UI给定的。您可以指定项目之间的间距以及每行包含多少列。 作为参考,请查看开发者文档。