LinearLayout填充背景百分比

时间:2016-12-02 04:14:14

标签: java android background android-linearlayout percentage

我正在尝试填充(水平)项目背景的某个百分比。

我试过这个,因为很多人都推荐过:

<?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="fill_parent"
    android:background="#fff"
    android:orientation="horizontal"
    android:weightSum="1"
    android:baselineAligned="false">

    <LinearLayout
        android:id="@+id/fill_layout"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight=".5"
        android:background="#000"
        android:orientation="horizontal">
    </LinearLayout>

</LinearLayout>

但问题是我在下面有更多的布局,这个布局结束了将其余部分推向右边,如下所示: enter image description here

如何让这个新的LinearLayout背景布局落后于其他布局?这是我的完整xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/item"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="@dimen/activity_horizontal_margin"
    android:background="@color/optionItemBackgroundColor"
    android:clickable="true"
    android:focusable="true"
    android:foreground="?selectableItemBackground"
    android:orientation="horizontal"
    android:weightSum="100"
    android:baselineAligned="false">

    <LinearLayout
        android:id="@+id/fill_layout"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="50"
        android:background="@color/percent_fill_color"
        android:orientation="horizontal">
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minHeight="?listPreferredItemHeight"
        android:orientation="vertical"
        android:weightSum="3">

        <TextView
            android:id="@+id/percentText"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginStart="@dimen/activity_vertical_margin"
            android:layout_weight="2"
            android:gravity="center"
            android:textColor="@color/optionItemTextColor"
            android:textSize="@dimen/option_text_size"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/votesText"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginStart="@dimen/activity_vertical_margin"
            android:layout_weight="1"
            android:gravity="center"
            android:textColor="@color/optionItemTextColor"
            android:textSize="@dimen/num_votes_text_size"
            android:textStyle="normal" />
    </LinearLayout>

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_marginStart="@dimen/activity_vertical_margin"
        android:gravity="center_vertical"
        android:minHeight="?listPreferredItemHeight"
        android:textColor="@color/optionItemTextColor"
        android:textSize="@dimen/option_text_size" />

</LinearLayout>

2 个答案:

答案 0 :(得分:0)

如果您尝试实现此目的,请尝试使用此代码image

<?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="fill_parent"
    android:background="#e11f1f"
    android:orientation="vertical"
    android:weightSum="1"
    android:baselineAligned="false">

    <LinearLayout
        android:id="@+id/fill_layout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight=".5"
        android:background="#000"
        android:orientation="horizontal">
    </LinearLayout>

</LinearLayout>

如果您尝试获取此视图,请尝试此image2

<?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="fill_parent"
    android:background="#fff"
    android:orientation="horizontal"
    android:weightSum="1"
    android:baselineAligned="false">

    <LinearLayout
        android:id="@+id/fill_layout"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight=".5"
        android:background="#000"
        android:orientation="horizontal">
    </LinearLayout>

</LinearLayout>

答案 1 :(得分:0)

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
 editor.putString("name", "Elena");
 editor.putInt("idName", 12);
 editor.apply(); // editor.commit()