android高度自適應
㈠ android ViewPager使用了height為wrap_content無效,希望自適應內容高度
ViewPager貌似是不能設置height包裹內容的,明磨畝你可激森以設置游毀height為0dp用weight來控制控制項比例
㈡ 簡單實現ImageView寬度填滿屏幕,高度自適應的兩種方式
方宏液法一:
<ImageView
android:id="@+id/zb_piclist_item_iamge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:src="@mipmap/ic_launcher"
android:visibility="卜衫gone"蔽弊物 />
//獲取屏幕寬度
WindowManager m = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics outMetrics = new DisplayMetrics();
m.getDefaultDisplay().getMetrics(outMetrics);
//乘以2是因為左右兩側的寬度
//bobaoArcWidth bobaoArcHeight 原始圖片寬高
int height = (int) (width / (Float.parseFloat(bobaoArcWidth)) * (Float.parseFloat(bobaoArcHeight)));
//設置圖片參數
ViewGroup.LayoutParams layoutParams = viewHolder.zbPiclistItemIamge.getLayoutParams();
// layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT;
layoutParams.width = width;
layoutParams.height = height;
viewHolder.zbPiclistItemIamge.setLayoutParams(layoutParams);
方發二
public class ResizableImageView extends ImageView {
}
<LinearLayout
xmlns:android=" http://schemas.android.com/apk/res/android "
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
根據圖片的寬度,高度,來按比例顯示
final String app_arc_pic = list.get(position).ad_pic;
String adPicHeight = list.get(position).ad_pic_height;
String adPicWidth = list.get(position).ad_pic_width;
int adPicH = Integer.parseInt(adPicHeight);
int adPicW = Integer.parseInt(adPicWidth);
int width = activity.getWindowManager().getDefaultDisplay().getWidth();
㈢ Android 用自定義高度自適應的viewpager,在進行滑動的時候滑動很不順暢,有時根本劃不動,求大神幫忙下
自已重寫ViewPager就行了在onMeasure里做一下處理就可以實現自適應高度了.
主要是重寫onMeasure方法來實現的。源代碼已上傳附件。
㈣ 怎麼修改gridview元素的高度自適應填滿gridview-Android開發問答
在WEB程序的ASP頁面中,山升敏都不建議使用該方法進行對數據的操作!為什麼呢?那為什麼現在極大多網站都沒逗枝有採用你這種方式來進行數據操作呢?是別人沒有想到?還是擔心這樣操作會對頁面造成額外的開銷?提主,你有想過這個問題嗎?
我是見過有grid的網站中,是沒有一個像你這樣操作頁面。通常都是獲取當中一行的ID或可以獲得對應數據的欄位笑乎,再去查詢一下資料庫,再將數據返回到一個Table中對應的控制項!
下面是一個簡單的GRIDVIEW代碼:
頁面代碼:
<div>
<asp:GridView ID="gvTest" runat="server">
<Columns>
<asp:BoundField DataField="customerID" Visible="False" />
<asp:BoundField DataField="customerName" HeaderText="名稱" />
<asp:BoundField DataField="customerSex" HeaderText="性別" />
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:LinkButton ID="lbtnUpdate" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"customerID") %>'
runat="server" Text="Update" OnClick="lbtnUpdate_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<br />
<div>
<table align="center">
<tr>
<td>
名稱:</td>
<td>
<asp:TextBox ID="txtCustName" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>
性別:</td>
<td>
<asp:TextBox ID="txtCustSex" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td colspan="2">
<asp:Button ID="btnUpdate" runat="server" Text="修改" Visible="false" OnClick="btnUpdate_Click" />
<asp:Button ID="btnCancel" runat="server" Text="取消" Visible="false" OnClick="btnCancel_Click" />
</td>
</tr>
</table>
</div>
<input type="hidden" id="txtCustID" runat="server" />
如下為後台代碼:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
//綁定Grid
private void BindGrid()
{
string strCmd = "select * from CUSTOMERS";
//getDataSet函數通過一個SQL語句取得一個DataSet
DataSet ds = getDataSet(strCmd);
gvTest.DataSource = ds;
gvTest.DataBind();
}
//LinkButton事件,得到相關客戶信息
protected void lbtnUpdate_Click(object sender, EventArgs e)
{
LinkButton lbtnTemp = sender as LinkButton;
//取得保存在LinkButton的CommandArgument的ID值.
string custID = lbtnTemp.CommandArgument;
txtCustID.Value = custID;
string strCmd = string.Format("select * from CUSTOMERS where customerID = {0}", custID);
DataSet ds = getDataSet(strCmd);
//通過ID查詢出來的客戶信息賦給對應的控制項
txtCustName.Text = ds.Tables[0].Rows[0]["customerName"].ToString();
txtCustSex.Text = ds.Tables[0].Rows[0]["customerSex"].ToString();
//打開修改和取消按鈕
btnCancel.Visible = true;
btnUpdate.Visible = true;
}
//修改
protected void btnUpdate_Click(object sender, EventArgs e)
{
string strCmd = "update CUSTOMERS set customerName='{0}',customerSex='{1}' where customerID={2}";
strCmd = string.Format(strCmd, txtCustName.Text, txtCustSex.Text, txtCustID.Value);
//ExecuteNon為執行修改的函數
int count = ExecuteNon(strCmd);
//屏蔽兩個按鈕
btnCancel.Visible = false;
btnUpdate.Visible = false;
}
//取消
protected void btnCancel_Click(object sender, EventArgs e)
{
//清空或還原Table中的控制項
txtCustName.Text = "";
txtCustSex.Text = "";
btnCancel.Visible = false;
btnUpdate.Visible = false;
}
注:
上面代碼中我沒有寫連接或Command什麼的,我覺得你會這些了.再加上上面的代碼只是帶給你一種意識,供你參考!事例寫得好潦草,只供參考,不推薦使用這樣的編碼方式!
㈤ Android如何實現屏幕解析度的自適應
【答案】:最好可以通過權重(layout_weight)的方式來分配每個組件的大小,也可以通過具體的像素(dip)來確定大小。
盡量使用Relativelayout 。
已知應用支持平台設備的解析度,可以提供多個layout_320*480 ...
drawable-hdpi,drawable-mdpi,drawable-ldpi分別代表分臘歷御辨率為480*800,360*480,240*360, 放置圖片大小相差1.5倍
最後還需要在AndroidManifest.xml里添加下面一段,沒有這一段自適應就不能實現:
android:largeScreens="true"
android:normalScreens="true"
android:anyDensity = "true"/>
在標簽和 標簽之間添加上面那段代碼。即可。
備註:三者的解析度不一樣,就像你把電腦的分爛肆辨率調低,圖片會變輪岩大一樣,反之解析度高,圖片縮小
還可以通過.9.png實現圖片的自適應
㈥ android如何設置圖片自適應控制項大小
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/ic_launcher"/>
寬度和高度使用fill_parent (填充父窗體)
fill_parent 可以使控制項充滿父控制項,也就是你說的自動使用圖片控制項外的控制項大小。
㈦ android如何實現屏幕的自適應
在網頁代碼的頭部內加入一行viewport元標簽。
<meta大信name="viewport"content="width=device-width,initial-scale=1"/>
viewport的說明:
viewport是網頁默認的寬度和高度,上面這行氏局代碼的意思是,網頁寬度默認等於屏幕寬度(width = device-width),原始縮放比例(initial-scale = 1)為1.0,即網頁初始大小占屏幕面積的100%。所有主流瀏覽器都支持這個設置。
關於viewport的基本屬性:
width=device-width :表示寬度是設備屏幕的寬度
initial-scale=1.0:表示初始的縮放比例
minimum-scale=0.5:表示最小的縮放比例
maximum-scale=2.0:表示最大的縮放比例
user-scalable=yes:表示用戶是否可以調整縮滾核輪放比例
㈧ Android 自定義ViewGroup , 能夠實現自適應高度。
檢查下 ViewGroup 裡麵包含的元素
㈨ 在Android編程模式下,如何設置Button為自動適應
得到屏幕灶侍的高度h隱扒吵button。setheight(h/16)(此處還有其此槐他的方法自己去試一下)(此處的前提是button在垂直的線性布局中)
2. 通過 layoutparams 去設置 高度和寬度
㈩ android alertdialog 怎麼設置高度自適應
WindowManager wm = getWindowManager();
Display display = wm.getDefaultDisplay();
android.view.WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
lp.width = display.getWidth();
lp.height =LayoutParams.WRAP_CONTENT;
dialog.getWindow().setAttributes(lp);
任意拿陵取得任意局敏局桐讓設置