在编程方面,我发现我最大的问题有时是布局,尽管这些自定义适配器也可能很棘手。我知道这是一个令人困惑的问题,所以已经准备好要实现的目标的图像。
所以,你们都怎么想。我在这里有什么要做的吗,或者这仅仅是我必须通过字符串操作来完成的事情吗?我正在使用水平的LinearLayout,并将在下面发布布局文件。预先感谢!
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="50dp">
<ImageView
android:id="@+id/steemlogoCURATIONROW"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:padding="0dp"
android:paddingBottom="0dp"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingTop="0dp"
app:srcCompat="@drawable/steemlogo" />
<TextView
android:id="@+id/userDataCURATIONROW"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="Poster Data:"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:id="@+id/postDataCURATIONTOOL"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="Post Data:"
android:textColor="@android:color/background_dark"
android:textSize="18sp" />
</LinearLayout>
我可以在我的自定义适配器中使用多个textview吗?我现在只尝试使用这2个视图,尝试以下代码时出现错误。
public class CustomCurationAdaptor extends ArrayAdapter<String> {
public CustomCurationAdaptor(@NonNull Context context, String[] items1, String[] items2) {
super(context, R.layout.curation_tool_row, items1, items2);
}
"Cannot resolve method 'super(android.content.context, int, java.lang.String[], java.lang.String[]'"
答案 0 :(得分:0)
从我的角度来看,最简单的方法是这种布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="120dp">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher_background" />
<LinearLayout
android:id="@+id/top_text_view_container"
android:layout_width="match_parent"
android:layout_height="60dp"
android:weightSum="1"
android:gravity="center_vertical"
android:layout_toRightOf="@+id/image"
android:orientation="horizontal" >
<TextView
style="@style/ListItemTextView"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:background="#99CCFF"
android:text="First text row"/>
<TextView
style="@style/ListItemTextView"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:background="#CCFFCC"
android:text="Second text row"/>
</LinearLayout>
<LinearLayout
android:id="@+id/bottom_text_view_container"
android:layout_width="match_parent"
android:layout_height="60dp"
android:weightSum="1"
android:gravity="center_vertical"
android:layout_toRightOf="@+id/image"
android:layout_below="@+id/top_text_view_container"
android:orientation="horizontal" >
<TextView
style="@style/ListItemTextView"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:background="#FFCCFF"
android:text="Third text row"/>
<TextView
style="@style/ListItemTextView"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:background="#CC99CC"
android:text="Fourth text row"/>
</LinearLayout>
<style name="ListItemTextView">
<item name="android:gravity">center_vertical</item>
<item name="android:paddingLeft">16dp</item>
<item name="android:paddingRight">16dp</item>
</style>
认为它可能有点沉重。对于列表中的每一行,它都使用weightSum的昂贵操作,并将此计算加倍,因为它在回收器视图中使用了两个LinearLayout。
在设备组团队的支持下,我们在底层设备上真正遇到问题之前,我不会对其进行优化,但是寻找性能最佳的解决方案将是一个很好的选择。
可能会限制布局提供更好的选择(无论如何,百分比布局是更好的选择)