我试图将ImageView内部LinearLayout水平和垂直居中,但我无法做到.我不使用a的主要原因RelativeLayout是因为我需要layout_weight(我Activity的四列应该被平分,并且还响应不同的屏幕宽度,每列都有一个ImageView居中和未拉伸).
到目前为止,这是我的xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"
android:baselineAligned="false"
android:gravity="center"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Main" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1" >
<ImageView
android:id="@+id/imageButton_speak"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/image_bg"
android:src="@drawable/ic_speak" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1" >
<ImageView
android:id="@+id/imageButton_readtext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/image_bg"
android:src="@drawable/ic_readtext" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1" >
<ImageView
android:id="@+id/imageButton_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/image_bg"
android:src="@drawable/ic_edit" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1" >
<ImageView
android:id="@+id/imageButton_config"
android:layout_width="wrap_content"
android:layout_height="wrap_content" …Run Code Online (Sandbox Code Playgroud) 我只有一个按钮Linear layout,我想将它保持在中心(水平).
我设置android:gravity="center_horizontal"为button和linear layout,但没有运气.
<LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/linearLayout4" android:layout_gravity="center_horizontal">
<Button android:id="@+id/button1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:gravity="center_horizontal" android:text="Search"></Button>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
对不起这样一个基本问题,但据我所知,只能android:gravity用它来把它带到中心,它对我不起作用.
解:
感谢Sbossb
<RelativeLayout android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent" android:layout_height="wrap_content">
<Button android:id="@+id/Button01" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Search"
android:layout_centerInParent="true"></Button>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
〜Ajinkya.
有没有办法在纵向活动中将 VideoView 居中。我尝试了很多选择,例如:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_gravity="center"
android:layout_height="fill_parent" >
<VideoView
android:id="@+id/videoView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|center_vertical" />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
这是我开始活动的方式:
val intent = Intent(this, VideoActivity::class.java)
startActivity(intent)
Run Code Online (Sandbox Code Playgroud)
这是活动中的代码:
class VideoActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_video)
val uriPath = "android.resource://" + packageName + "/raw/ad"
val uri = Uri.parse(uriPath)
videoView.setVideoURI(uri)
videoView.requestFocus()
videoView.start()
}
}
Run Code Online (Sandbox Code Playgroud)