0
私はカスタムビューを実装して、RecyclerViewに含まれる展開可能なカードビューに配置しようとしました。始めに、私はそれを開き、それはかなりいいね。スクロール layout_weightプロパティはカスタムビューでは無視されます
前
しかし、その後、私はそれが開かれ、RecyclerViewの一番下までスクロールしておきます。アイテムにスクロールして閉じてからもう一度開くと、レイアウトが破損します。以下は、スクロール
後
は、カスタムビュー
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="60dp" android:background="?android:attr/selectableItemBackground"
android:clickable="true">
<View
android:layout_width="@dimen/session_padding_left"
android:layout_height="@dimen/session_padding_left"></View>
<TextView
android:id = "@+id/tv_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:textColor="@color/lightGray"
android:gravity="center_vertical"
android:layout_weight="6"
android:maxLines = "2"
android:lines="2"
android:textSize="@dimen/extra_small_text_size"
android:ellipsize="end"
android:paddingTop = "10dp"
android:paddingBottom = "10dp"
android:text = "Word-of-Mouth Behaviour in Mobile Social Media "/>
<TextView
android:id = "@+id/tv_time"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="right"
android:textSize="@dimen/extra_small_text_size"
android:textColor="@color/lightGray"
android:layout_weight = "4"
android:text="11:30 - 12:00"/>
<ImageButton
android:layout_width="@dimen/dimen_image_button_add_remove"
android:layout_height="@dimen/dimen_image_button_add_remove"
android:layout_gravity="center|right"
android:scaleType="fitCenter"
style = "?android:attr/borderlessButtonStyle"
android:src = "@drawable/ic_add_agenda"
/>
</LinearLayout>
、ビュークラスのコードです:
package au.com.leremede.acis2016.views;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.LinearLayout;
import android.widget.TextView;
import au.com.leremede.acis2016.R;
public class PresentationView extends LinearLayout {
private TextView tvTitle;
private TextView tvTime;
public PresentationView(Context context) {
super(context);
init(context);
}
public PresentationView(Context context, AttributeSet attrs)
{
super(context, attrs);
init(context);
}
private void init(Context context) {
setOrientation(HORIZONTAL);
inflate(context, R.layout.view_presentation, this);
tvTitle = (TextView)findViewById(R.id.tv_title);
tvTime = (TextView)findViewById(R.id.tv_time);
}
public void setTitle(String title)
{
tvTitle.setText(title);
}
public void setTime(String time)
{
tvTime.setText(time);
}
}
レイアウトではどこでPresentationViewを使用していますか? – sJy