![](/img/trans.png)
[英]How to maintain constant width of MudSelect element in RowEditingTemplate
[英]How to maintain a constant ImageView width and and height
我有一個recyclerView顯示imageView(縮略圖大小)和textView的列表。 每當我用大量文本填充textViews時,imageView就會縮小並且高度會增加。 textView也被包裹在左邊,在右邊留有很多空白。 下面是我正在談論的圖像。 即使我的textView有很多文本,也如何固定縮略圖的寬度和高度,以保持圖像質量。
* axml **
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:tools="http://schemas.android.com/tools"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/card_view"
android:background="#E2E2E2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
card_view:cardCornerRadius="7dp"
android:layout_marginRight="4dp"
android:layout_marginLeft="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="12dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:weightSum="100">
<ImageView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="25"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:id="@+id/imageView" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="63"
android:orientation="vertical"
android:paddingRight="10dp"
android:paddingLeft="10dp"
android:paddingTop="7dp"
android:paddingBottom="7dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="18sp"
android:textColor="#333333"
android:text="Caption"
android:layout_weight="1"
android:ellipsize="none"
android:maxLines="100"
android:scrollHorizontally="false"
android:id="@+id/txt_title"
android:textStyle="bold"
android:fontFamily="Times New Roman"
android:layout_marginLeft="4dp"
android:layout_marginTop="10dp"
android:layout_gravity="center_vertical|left" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="14sp"
android:textColor="#333333"
android:text="Caption"
android:layout_weight="1"
android:ellipsize="none"
android:maxLines="100"
android:scrollHorizontally="false"
android:id="@+id/textView"
android:fontFamily="Times New Roman"
android:layout_marginLeft="4dp"
android:layout_marginTop="10dp"
android:layout_gravity="center_vertical|left" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="13sp"
android:textColor="#808080"
android:text="Caption"
android:layout_weight="1"
android:ellipsize="none"
android:maxLines="100"
android:scrollHorizontally="false"
android:id="@+id/pub_date"
android:fontFamily="Times New Roman"
android:layout_marginLeft="4dp"
android:layout_marginTop="10dp"
android:layout_gravity="center_vertical|left" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:scrollbars="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</android.support.v7.widget.CardView>
有關ImageView的setMaxWidth
方法,請參考此javadoc:
提供此視圖最大寬度的可選參數。 僅在setAdjustViewBounds(boolean)設置為true時有效。 要將圖像設置為最大100 x 100,同時保留原始長寬比,請執行以下操作:
1)將adjustViewBounds設置為true
2)將maxWidth和maxHeight設置為100
3)將高度和寬度布局參數設置為WRAP_CONTENT。
請注意,如果原始圖像較小,則使用此方法此視圖可能仍小於100 x 100。 要將圖像設置為固定大小,請在布局參數中指定該大小,然后使用setScaleType(android.widget.ImageView.ScaleType)確定如何使圖像適合邊界。
第1步:刪除此行:
android:weightSum="100"
步驟2:在此行中將63更改為1:
android:layout_weight="63"
步驟3:更改以下幾行:
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="25"
對此:
android:layout_width="wrap_content"
android:layout_height="match_parent"
或者如果您想要固定寬度:
android:layout_width="150dp"
android:layout_height="match_parent"
用這個
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:tools="http://schemas.android.com/tools"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/card_view"
android:background="#E2E2E2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
card_view:cardCornerRadius="7dp"
android:layout_marginRight="4dp"
android:layout_marginLeft="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="12dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:weightSum="100">
<ImageView
android:layout_width="0dp"
**android:layout_height="wrap_content"**
android:layout_weight="25"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@mipmap/ic_launcher"
android:id="@+id/imageView" />
<LinearLayout
android:layout_width="0dp"
**android:layout_height="wrap_content"**
android:layout_weight="63"
android:orientation="vertical"
android:paddingRight="10dp"
android:paddingLeft="10dp"
android:paddingTop="7dp"
android:paddingBottom="7dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="18sp"
android:textColor="#333333"
android:text="Captionjkdhka asdgasidga sgdia g Caption vCaptionCaptionCaptionvCaptionCaption"
android:layout_weight="1"
android:ellipsize="none"
android:maxLines="100"
android:scrollHorizontally="false"
android:id="@+id/txt_title"
android:textStyle="bold"
android:fontFamily="Times New Roman"
android:layout_marginLeft="4dp"
android:layout_marginTop="10dp"
android:layout_gravity="center_vertical|left" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="14sp"
android:textColor="#333333"
android:text="Caption"
android:layout_weight="1"
android:ellipsize="none"
android:maxLines="100"
android:scrollHorizontally="false"
android:id="@+id/textView"
android:fontFamily="Times New Roman"
android:layout_marginLeft="4dp"
android:layout_marginTop="10dp"
android:layout_gravity="center_vertical|left" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="13sp"
android:textColor="#808080"
android:text="Caption"
android:layout_weight="1"
android:ellipsize="none"
android:maxLines="100"
android:scrollHorizontally="false"
android:id="@+id/pub_date"
android:fontFamily="Times New Roman"
android:layout_marginLeft="4dp"
android:layout_marginTop="10dp"
android:layout_gravity="center_vertical|left" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
問題在於圖像視圖和布局的高度
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.