我的意思是,你知道我们有自定义listView,我们可以用我们想要的每一件事做几行。 我想做同样但我不想使用listView。我想制作包含一些文字的10行。像这样的东西:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/layoutround"
android:gravity="right"
android:orientation="vertical"
android:padding="10dp" >
<TextView
android:id="@+id/dama"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="20"
android:gravity="center"
android:text="2"
android:textSize="@dimen/font_size_weather" />
<TextView
android:id="@+id/maxt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:text="Medium Text"
android:textSize="@dimen/font_size_weatherother" />
</LinearLayout>
我想在我的java文件中重复这种布局,这怎么可能? 我不想使用listView的原因是因为我有一个图像作为我的背景,如果我使用listView我不能使用这个背景。
我该怎么做?
谢谢
答案 0 :(得分:0)
就像@Der Golem所说,你可以让你的ListView
透明。
或者,要回答您的问题,您需要有一个根XML:
<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/layoutround"
android:orientation="vertical" >
并在Fragment
或Activity
,您需要
- 获得对此布局的参考
- 扩大要在根XML中显示的布局
- 或者,手动创建Views
,如TextView
等
- 然后使用container.addView(myView)
答案 1 :(得分:0)
您可以膨胀此xml文件,相应地编辑内容,然后将其附加到父ViewGroup。另一个想法是创建一个封装元素的复合ViewGroup。 此外,您可能实际上可以在列表视图上插入背景(这会更好)。
parent.xml
<LinearLayout
...
android:id="@+id/parentLayout />
sibling.xml&lt; - 您的示例
view.java
public View onCreateView(...) {
ViewGroup root = findViewById(R.id.parentLayout);
LayoutInflater inflater = getLayoutInflater();
for ( MyData data : dataList ) {
ViewGroup sibling = (ViewGroup) inflater
.inflate(R.layout.sibling,null);
EditText dama = (EditText)sibling.findViewById(R.id.dama);
dama.setText(data.getTheText());
root.addView(sibling);
}