在Android Studio中,使用线性布局,使用layout_weight - 我可以非常轻松地解决我的问题(为每个视图设置layout_weight我需要多少),但我在layout_width上挣扎(在一个屏幕上应用看起来不错但在另一个屏幕上没有),对于初学者来说,了解dp,sp,px等对我来说有点压倒性。我们可以以某种方式制作“layout_weight”而不是宽度吗?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.android.myapplication3.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#FAFAFA">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="0"
android:text="The title will be here "
//The length of this text up here is permanent, and is 23 characters, also
//that much length for the texts in TextViews in other Linear Layouts below
//While in all CheckBoxes in all Layouts the text is same and permanent and
//will contain 7 characters.
//Also i will add a onClick in ImageView.
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textColor="#E91E63"
android:textStyle="bold" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="0"
android:src="@drawable/ic_dehaze_black_24dp" />
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_weight="0"
android:text="CheckBox1"
android:textColor="#E91E63"
android:textStyle="bold"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#FAFAFA">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="0"
android:text="The title will be here "
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textColor="#E91E63"
android:textStyle="bold" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="0"
android:src="@drawable/ic_dehaze_black_24dp" />
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_weight="0"
android:text="CheckBox2"
android:textColor="#E91E63"
android:textStyle="bold"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#FAFAFA">
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="0"
android:text="The title will be here "
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textColor="#E91E63"
android:textStyle="bold" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="0"
android:src="@drawable/ic_dehaze_black_24dp" />
<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_weight="0"
android:text="CheckBox3"
android:textColor="#E91E63"
android:textStyle="bold"/>
</LinearLayout>
答案 0 :(得分:0)
是的,你可以。
不要将android:layout_height
设置为零,而是设置android:layout_width
。并按照与高度相同的方式工作,但宽度相同。
答案 1 :(得分:0)
为单个组件使用 layout_weight ;确保您在根标记声明中使用 weightsum 属性。
使用layout_weight时: