我已按以下方式创建了cardview。所有字段都会在Web服务的响应中填充。但是根据填充的数据,cardview没有调整大小。
对于textview,它会在数据下方留出一些空间。
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/cv2"
android:elevation="20dp"
android:layout_marginTop="1dp"
app:cardCornerRadius="0dp"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:id="@+id/Lin2"
android:layout_marginTop="30dp"
android:orientation="vertical"
android:animateLayoutChanges="true"
android:visibility="visible"
android:weightSum="100">
<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_username"
android:id="@+id/usernameTextView"
android:layout_marginTop="10dp"
android:layout_weight="20"
android:minHeight="50dp"
android:minLines="1" />
<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:password="true"
android:hint="Password"
android:id="@+id/passwordTextView"
android:layout_weight="20"
android:minHeight="50dp"
android:minLines="1" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Update"
android:id="@+id/updateBtn"
android:background="@drawable/button_border"
android:textColor="#005AB4"
android:layout_weight="20"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="40"
android:id="@+id/credsNote"
android:textSize="14sp"
android:text=""
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:maxLines="7"
android:soundEffectsEnabled="true" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:orientation="horizontal"
android:id="@+id/cvLin2"
android:weightSum="100"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cv2Btn"
android:src="@drawable/cancel"
android:layout_weight="20"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/cv2Title"
android:textSize="18sp"
android:layout_gravity="center"
android:layout_marginLeft="20dp"
android:text="Credentials"
android:layout_weight="80"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/cv2ImgHazard"
android:src="@drawable/hazard_yellow"
android:layout_weight="20"
/>
</LinearLayout>
</android.support.v7.widget.CardView>
填充数据的Java代码
usernameTxt = (AutoCompleteTextView)findViewById(R.id.usernameTextView);
passwordTxt = (AutoCompleteTextView)findViewById(R.id.passwordTextView);
usernameTxt.setText(username);
passwordTxt.setText(password);
String message = "All set here!";
credsNote = (TextView)findViewById(R.id.credsNote);
credsNote.setText(message);
credsNote.setMinLines((1));
credsNote.setMaxLines((1));
int height_in_pixels = credsNote.getLineCount() * credsNote.getLineHeight(); //approx height text
credsNote.setHeight(height_in_pixels);
Drawable res = getResources().getDrawable(R.drawable.tick);
credStat = (ImageView)findViewById(R.id.cv2ImgHazard);
credStat.setImageDrawable(res);
请检查下面的图片,以便更好地了解问题。 如何解决这个问题?
答案 0 :(得分:0)
我认为您正在使用隐藏元素。
elment.setVisibility(View.INVISIBLE);
改为使用:
elment.setVisibility(View.GONE);
它的工作原理如下:
View.VISIBLE 视图可见。
View.INVISIBLE 视图不可见,但仍会使用通常占用的任何间距。它的“隐形”
View.GONE 视图消失了,您无法看到它并且不会占用“点”。