标签: android-xml

如何在Android中创建工具栏(如辅助操作栏)?

gmail应用程序的工具栏看起来类似于操作栏(甚至包括溢出菜单).它是一个蓝色条,大约是屏幕下方的1/4.见图1:

图片1

我想要的酒吧用红色箭头指出.我查看了文档,没有看到一个小部件来执行此操作.我怎么能这样做一个吧?

此外,如果您看到下面的橙色箭头,则表明此应用程序顶部和底部都有一个操作栏.我很好奇这是如何完成的,但我的主要问题是如何在屏幕上的任何地方制作类似于动作栏的工具栏.

图1是在电话上.我还包括下面的图像2和图像3,它们分别是7英寸平板电脑和10英寸平板电脑.请注意,"拆分"操作栏位于包含平板电脑视图的单个栏上.

图2

图3

android android-widget android-layout android-xml android-gui

7
推荐指数
1
解决办法
3090
查看次数

使用XML布局作为模板以编程方式创建android按钮

我有一个包含TextView的LinearLayout,并且总是会.TextView下面始终至少有一个按钮,但在某些情况下可能会有多个按钮.

我可以通过编程方式成功创建和添加任意数量的按钮.我还可以通过编程方式成功设置这些按钮所需的任何外观相关参数/选项.

问题是我不知道如何告诉以编程方式创建的按钮它应该使用包含外观和布局参数的XML资源文件,而不是以编程方式设置这些参数.

我看过类似命名的问题并花时间搞乱API本身,但无济于事.

编辑:
这是我正在尝试做的一个近似值,希望能让我的解释更加清晰:

private TextView textView;
private SomeObject someObject;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
    Bundle savedInstanceState) {
    View scrollView = inflater.inflate(R.layout.fragment_play_game, container, false);
    textView = (TextView) scrollView.findViewById(R.id.game_data_text);
    textView.setText(someObject.getTextForTextView());

    LinearLayout layout = (LinearLayout) scrollView.findViewById(R.id.game_data_container);
    for (String optionText : someObject.getTextForButtons()) {
        layout.addView(createOptionButton(optionText, layout));
    }
    return scrollView;
}

private View createOptionButton(String optionText, LinearLayout layout) {
    Button optionButton = new Button(this.getActivity());
    // set button layout/options here, somehow??
    optionButton.setText(optionText);
    return optionButton;
}
Run Code Online (Sandbox Code Playgroud)

片段的我的XML布局文件看起来像这样(这是我试图添加按钮的LinearLayout):

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-xml android-button

7
推荐指数
1
解决办法
6988
查看次数

Android:如何将十字图标放在自动完成textView的顶部

我在将十字按钮放在textview顶部时遇到了问题.我正在使用LinearLayout并且它没有出现,而在Framelayout它工作,但这不能解决我的目的.我附上我的XML供参考,请帮助我克服这个问题.

<LinearLayout
        android:id="@+id/top"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/phone_toolbar"
        android:baselineAligned="true"
        android:gravity="center_horizontal"
        android:paddingBottom="2dp"
        android:paddingTop="2dp" >

        <ImageView
            android:id="@+id/search_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="10dp"
            android:background="@drawable/toolbar_search_icon_phone" >
        </ImageView>

        <AutoCompleteTextView
            android:id="@+id/text"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginRight="10dp"
            android:layout_weight="2"
            android:background="@drawable/toolbar_phone_textfield"
            android:dropDownVerticalOffset="5dp"
            android:ems="10"
            android:focusable="true"
            android:hint="@string/hint"
            android:imeOptions="actionSearch"
            android:paddingLeft="10dp"
            android:paddingRight="20dp"
            android:singleLine="true"
            android:textColor="#000000"
            android:textSize="14sp" />

        <Button
            android:id="@+id/clear_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right|center_vertical"
            android:layout_marginRight="10dip"
            android:background="@drawable/text_clear" />
    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

谢谢!

android android-linearlayout android-xml

7
推荐指数
1
解决办法
8643
查看次数

android expandablelistview如何在组项之间设置空间

我有expandablelistview,我想在组项目之间添加填充(或边距),我margin-botton在组项目上使用,它可以工作,但现在它也应用于组项目及其子项目,我想在组项目之间保留一个空格,不是在一个组项目和它的孩子之间,我的工作方式如下:

主要的xml

<?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="match_parent"
    android:orientation="vertical" 
    android:background="#FFFFFF">

    <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:typeface="serif"
        android:textSize="25dip"
        android:textColor="#025f7c"
        android:text="@string/tv_allAddresses"
        android:layout_gravity="center"
        android:layout_marginTop="20dip"
        android:layout_marginBottom="25dip"/>

    <ExpandableListView
        android:id="@+id/elv_all_addresses_addresses"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:padding="10dip">
    </ExpandableListView>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

组xml

<?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="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tv_all_address_group_groupName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="30dip"
        android:textColor="#000000"
        android:textSize="20dip"
        android:typeface="serif" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

孩子xml

<?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="match_parent"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/tv_all_address_child_label"
        android:paddingLeft="50dip"
        android:typeface="serif"
        android:textSize="15dip"
        android:textColor="@color/BlueViolet"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/tv_all_address_child_value"
        android:textColor="#000000"
        android:layout_marginLeft="10dip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-xml

7
推荐指数
1
解决办法
1万
查看次数

@android:和android之间有什么区别?

有什么区别

android:color="@android:color/black"
Run Code Online (Sandbox Code Playgroud)

style="?android:attr/borderlessButtonStyle" 
Run Code Online (Sandbox Code Playgroud)

@和之间有什么区别?

这是ungoogleable或ogooglebar的问题之一.

android android-layout android-xml

7
推荐指数
2
解决办法
3073
查看次数

使用ImageView作为Android布局的背景

我想利用scaleType属性,如果我使用背景属性设置我的图像,我就无法使用它LinearLayout.我尝试过使用LinearLayout2个孩子:第一个是ImageView(用于背景图像),第二个孩子是另一个LinearLayout包含TextViews,按钮等.但结果只是其他视图后面的图像.

是否有可能浮在嵌套LinearLayoutImageView不知何故?我知道这个问题有很多变化,但我还没有发现任何对我有帮助的东西.如果我错过了什么,请指出我的方向.另外,如果可能的话,我想用XML做这件事,而且我可以灵活地使用什么类型的布局(它没有线性).

android android-layout android-xml android-imageview android-background

7
推荐指数
1
解决办法
2万
查看次数

从自定义首选项获取视图

在我的应用程序中,我有一个PreferenceScreen,如下所示:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
    <CheckBoxPreference
            android:key="state"
            android:title="@string/stateTitle"
            android:summary="@string/stateSummary"
            android:defaultValue="false" />

    <Preference
            android:key="test"
            android:layout="@layout/pref_control"
            android:dependency="state" />
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

现在我的问题是如何pref_control.xml从PreferenceActivity 获取我的观点?我尝试了正常,findViewById()但结果是NullPointerException.这是导致异常的代码:

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    addPreferencesFromResource(R.xml.preferences);

    ((Button) findViewById(R.id.startTime)).setText("bla");
    ((Button) findViewById(R.id.endTime)).setText("bla");
}
Run Code Online (Sandbox Code Playgroud)

android android-preferences android-xml

7
推荐指数
1
解决办法
4656
查看次数

是否可以缩短自定义视图名称?

假设我创建了一个名为的自定义视图,MyView并希望在xml中使用它,视图位于com.example包中.我需要做这样的事情:

<com.example.MyView
   ......
/>
Run Code Online (Sandbox Code Playgroud)

每次使用视图时需要编写包名.如果我的包裹名称很长怎么办?

<what.a.long.long.long.loooooong.packagename.MyView
   ......
/>
Run Code Online (Sandbox Code Playgroud)

那看起来很难看.是否可以缩短包装名称?我是否需要在AndroidManifest.xml文件中执行某些操作?

android android-xml android-view

7
推荐指数
1
解决办法
395
查看次数

第二个布局没有在android studio中显示include标签

我设计了两个Android布局,应该按顺序显示.因此,第一个布局必须显示在页面顶部,第二个布局必须显示在页面底部.但是,以下代码仅显示第一个布局.我怎样才能显示第二个布局?

主要布局是

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <include layout="@layout/first_layout"/>
    <include layout="@layout/second_layout"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

第一个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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="net.simplifiedcoding.androidloginapp.UserProfile">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Large Text"
        android:id="@+id/textView3"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

第二个布局是

<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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:orientation="vertical"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"      
    tools:context=".MainActivity">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Name"
    android:id="@+id/textView" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/editTextName" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Address"
    android:id="@+id/textView2" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/editTextAddress" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Insert"
    android:onClick="insert"
    android:id="@+id/button" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textViewResult" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-xml android-studio

7
推荐指数
2
解决办法
4833
查看次数

如何通过CardView引入ImageView?请看细节

我正在开发一个应用程序,我已经做了以下显示的布局:

在此输入图像描述

有一个CircleImageView和一个CardView.

这是XML代码:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.playrapp.playr.Profile"
    tools:showIn="@layout/activity_profile">

    <android.support.v7.widget.CardView
        android:id="@+id/profileCard"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        app:contentPadding="10dp">

    </android.support.v7.widget.CardView>

    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/userImageProfile"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_marginTop="50dp"
        android:src="@mipmap/ic_launcher"
        android:layout_centerHorizontal="true"/>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

在这里,cardview在imageview上.我希望imageview能够超越cardview.我怎样才能做到这一点?

请告诉我.

android android-layout android-xml android-imageview android-cardview

7
推荐指数
2
解决办法
6433
查看次数