我有一个水平线性布局,里面有3个项目。
<?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="wrap_content"
android:orientation="horizontal">
<ImageButton
android:id="@+id/FirstItem"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/ic_microphone" />
<EditText
android:id="@+id/secondItem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
<ImageButton
android:id="@+id/ThirdItem"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0"/>
</LinearLayout>
在代码中,我有时会隐藏第二个和第三个项目。我希望当其他两个被隐藏时,我的第一个项目会显示在中间。
我该怎么办?目前,当我隐藏第二和第三项时,第一项仍然留在左侧。我可以在第一个项目上设置layout_weight = 1,但是当2和3是可见的时它没有正确显示。
答案 0 :(得分:1)
在xml中使用android:gravity
或android:layout_gravity
。
android:gravity
设置了内容的严重性。
android:layout_gravity
在其父级中设置布局的重力。
修改强>
在您的代码中使用android:gravity="center"
它将起作用。
答案 1 :(得分:1)
var stropsrc = new Array(3);
stropsrc[0]= "../rs/MOVIE/KlogoPk.mp4";
stropsrc[1]="../rs/MOVIE/theme.mp4";
stropsrc[2]= "../rs/MOVIE/OpPk.mp4";
function doPlaySequence()
{
var divcontainer = document.createElement("div");
divcontainer.setAttribute("id","divop");
document.body.appendChild(divcontainer);
var playID = "op0";
var opplay = document.createElement('video');
opplay.setAttribute("id",playID);
opplay.preload = "none";
divcontainer.appendChild(opplay);
opplay.src = stropsrc[0];
var AttrObj = {"datacount":0};
var myPlayer;
videojs.setAttributes(opplay,AttrObj);
myPlayer = videojs(opplay);
myPlayer.play();
opplay.addEventListener("ended",function(e)
{
e.preventDefault();
var c = parseInt(this.getAttribute("datacount"))+1;
if(c < 3)
{
opplay.src = stropsrc[c];
AttrObj.datacount = c;
videojs.setAttributes(opplay,AttrObj);
myPlayer = videojs(opplay);
myPlayer.play();
}
else//end
{
/*reset*/
opplay.src = stropsrc[0];
AttrObj.datacount = 0;
videojs.setAttributes(opplay,AttrObj);
/*hide*/
var divContainer = document.getElementById("divop");
divContainer.style.display = "none";
divContainer.style.visibility = "hidden";
var divOP = document.getElementById("op0");
divOP.style.display = "none";
divOP.style.visibility = "hidden";
}
});