我有一个状态栏,在线性布局中连续有6个元素。在具有高分辨率的较新显示器上看起来没问题。但是当我在旧智能手机上启动应用程序时,只会显示状态栏中Textview的第一个文本。 imageViews被切断,状态栏变得更高,没有额外的内容。
我想要的是,如果内容不合适,第一个textView中的文本会缩短,因此可以显示所有ImageView。这可能吗?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:gravity="right|center_vertical"
android:orientation="horizontal" >
<TextView
android:id="@+id/statusbar_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:text="Text der Statusbar" />
<TextView
android:id="@+id/statusbar_text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:text="TEXT1" />
<ImageView
android:id="@+id/some_state0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/stat_some_state0" />
<ImageView
android:id="@+id/some_state1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:src="@drawable/stat_some_state1" />
<ImageView
android:id="@+id/some_state2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:src="@drawable/stat_some_state2" />
<ImageView
android:id="@+id/some_state3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:src="@drawable/stat_some_state3" />
</LinearLayout>
答案 0 :(得分:0)
为所有元素添加重量。如果权重相等,则布局将被平均分配。如果重量是其他人的两倍,那么除法将是两倍。如果vertical
为0dp
并且给定权重,则身高应为horizontal
,如果为0dp
,则宽度应为?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:gravity="right|center_vertical"
android:orientation="horizontal" >
<TextView
android:id="@+id/statusbar_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:layout_weight="1"
android:text="Text der Statusbar" />
<TextView
android:id="@+id/statusbar_text1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingLeft="5dp"
android:text="TEXT1" />
<ImageView
android:id="@+id/some_state0"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/stat_some_state0" />
<ImageView
android:id="@+id/some_state1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingLeft="5dp"
android:src="@drawable/stat_some_state1" />
<ImageView
android:id="@+id/some_state2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingLeft="5dp"
android:src="@drawable/stat_some_state2" />
<ImageView
android:id="@+id/some_state3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingLeft="5dp"
android:src="@drawable/stat_some_state3" />
</LinearLayout>
}
javascript
答案 1 :(得分:0)
你应该像这样layout
。向视图添加weight
将修复其widths
。所以无论text length
它是否会打扰你的imageViews
。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:gravity="right|center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/statusbar_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:paddingLeft="5dp"
android:text="Text der Statusbar" />
<TextView
android:id="@+id/statusbar_text1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingLeft="5dp"
android:text="TEXT1" />
<ImageView
android:id="@+id/some_state0"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:src="@drawable/stat_some_state0" />
<ImageView
android:id="@+id/some_state1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:paddingLeft="5dp"
android:src="@drawable/stat_some_state1" />
<ImageView
android:id="@+id/some_state2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:paddingLeft="5dp"
android:src="@drawable/stat_some_state2" />
<ImageView
android:id="@+id/some_state3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:paddingLeft="5dp"
android:src="@drawable/stat_some_state3" />
</LinearLayout>